oota-llvm.git
16 years agoHandle empty aggregate values.
Dan Gohman [Mon, 9 Jun 2008 15:21:47 +0000 (15:21 +0000)]
Handle empty aggregate values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52150 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAsmParser support for immediate constant aggregate values.
Dan Gohman [Mon, 9 Jun 2008 14:45:02 +0000 (14:45 +0000)]
AsmParser support for immediate constant aggregate values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52149 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCPPBackend support for extractvalue and insertvalue.
Dan Gohman [Mon, 9 Jun 2008 14:12:10 +0000 (14:12 +0000)]
CPPBackend support for extractvalue and insertvalue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52147 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAbort on an unrecognized opcode.
Dan Gohman [Mon, 9 Jun 2008 14:09:13 +0000 (14:09 +0000)]
Abort on an unrecognized opcode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52146 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate the CPP backend for the ConstantFP::get API change.
Dan Gohman [Mon, 9 Jun 2008 14:08:11 +0000 (14:08 +0000)]
Update the CPP backend for the ConstantFP::get API change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52144 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove some DAG combiner assumptions about sizes
Duncan Sands [Mon, 9 Jun 2008 11:32:28 +0000 (11:32 +0000)]
Remove some DAG combiner assumptions about sizes
of integer types.  Fix the isMask APInt method to
actually work (hopefully) rather than crashing
because it adds apints of different bitwidths.
It looks like isShiftedMask is also broken, but
I'm leaving that one to the APInt people (it is
not used anywhere).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52142 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTest that prune-eh doesn't make deductions based
Duncan Sands [Mon, 9 Jun 2008 11:28:41 +0000 (11:28 +0000)]
Test that prune-eh doesn't make deductions based
on bodies of functions with weak linkage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52141 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd support for PIC on linux x86-64
Rafael Espindola [Mon, 9 Jun 2008 09:52:31 +0000 (09:52 +0000)]
add support for PIC on linux x86-64

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52139 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agolower calls to abs to inline code, PR2337
Chris Lattner [Mon, 9 Jun 2008 08:26:51 +0000 (08:26 +0000)]
lower calls to abs to inline code, PR2337

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52138 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix PR2411, where ip constant prop would propagate the
Chris Lattner [Mon, 9 Jun 2008 07:58:07 +0000 (07:58 +0000)]
Fix PR2411, where ip constant prop would propagate the
result of a weak function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52137 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSmall formatting changes.
Bill Wendling [Mon, 9 Jun 2008 07:51:45 +0000 (07:51 +0000)]
Small formatting changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52136 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agouse 'continue' to make the function linker simpler. When linking a strong
Chris Lattner [Mon, 9 Jun 2008 07:47:34 +0000 (07:47 +0000)]
use 'continue' to make the function linker simpler.  When linking a strong
function into a weak function, zap the weak function body so that the
strong one overrides it.  This fixes PR2410

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52135 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agominor changes to short circuit the 'no linkage' case earlier for
Chris Lattner [Mon, 9 Jun 2008 07:36:11 +0000 (07:36 +0000)]
minor changes to short circuit the 'no linkage' case earlier for
function bodies.  We now don't try to unify types or handling type
mismatches if when linking an internal foo to an external foo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52134 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agosimplify function visibility handling.
Chris Lattner [Mon, 9 Jun 2008 07:25:28 +0000 (07:25 +0000)]
simplify function visibility handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52133 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCreate dirs as needed.
Tanya Lattner [Mon, 9 Jun 2008 07:14:31 +0000 (07:14 +0000)]
Create dirs as needed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52131 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoremoved two implicitly closed </p> tags to get it validate
Gabor Greif [Mon, 9 Jun 2008 06:06:18 +0000 (06:06 +0000)]
removed two implicitly closed </p> tags to get it validate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52123 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate with new release.
Tanya Lattner [Mon, 9 Jun 2008 06:02:09 +0000 (06:02 +0000)]
Update with new release.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52121 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a note in the API Changes section about the ConstantFP::get change.
Dan Gohman [Mon, 9 Jun 2008 04:36:34 +0000 (04:36 +0000)]
Add a note in the API Changes section about the ConstantFP::get change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52119 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse proper icon :)
Anton Korobeynikov [Mon, 9 Jun 2008 04:21:50 +0000 (04:21 +0000)]
Use proper icon :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52118 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix few validations errors
Anton Korobeynikov [Mon, 9 Jun 2008 04:20:10 +0000 (04:20 +0000)]
Fix few validations errors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52117 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd footer
Anton Korobeynikov [Mon, 9 Jun 2008 04:17:51 +0000 (04:17 +0000)]
Add footer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52116 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove obsolete CompilerDriver.html and provie a new one, based on autogenerated...
Anton Korobeynikov [Mon, 9 Jun 2008 04:15:49 +0000 (04:15 +0000)]
Remove obsolete CompilerDriver.html and provie a new one, based on autogenerated file form
LLVMC-Reference.rst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52115 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agolinkify, this requires pulling CodeGenerator.html into 2.3.
Chris Lattner [Mon, 9 Jun 2008 04:00:08 +0000 (04:00 +0000)]
linkify, this requires pulling CodeGenerator.html into 2.3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52114 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a simple, but efficient, generic scoped hash table
Chris Lattner [Mon, 9 Jun 2008 00:42:10 +0000 (00:42 +0000)]
Add a simple, but efficient, generic scoped hash table

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52112 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agogrammaro
Chris Lattner [Sun, 8 Jun 2008 23:40:40 +0000 (23:40 +0000)]
grammaro

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52111 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofinal edits from me, simplify the ia64 section.
Chris Lattner [Sun, 8 Jun 2008 23:12:47 +0000 (23:12 +0000)]
final edits from me, simplify the ia64 section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52110 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomore edits
Chris Lattner [Sun, 8 Jun 2008 23:06:47 +0000 (23:06 +0000)]
more edits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52109 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd notes about two known X86-64 limitations.
Dan Gohman [Sun, 8 Jun 2008 23:05:11 +0000 (23:05 +0000)]
Add notes about two known X86-64 limitations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52108 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoseveral edits
Chris Lattner [Sun, 8 Jun 2008 22:59:35 +0000 (22:59 +0000)]
several edits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52107 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd some links to doxygen documentation.
Dan Gohman [Sun, 8 Jun 2008 22:57:59 +0000 (22:57 +0000)]
Add some links to doxygen documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52106 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDescribe MachineMemOperands.
Dan Gohman [Sun, 8 Jun 2008 22:49:27 +0000 (22:49 +0000)]
Describe MachineMemOperands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52105 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a grammero.
Dan Gohman [Sun, 8 Jun 2008 22:44:43 +0000 (22:44 +0000)]
Fix a grammero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52104 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert a bad edit from r52095.
Gordon Henriksen [Sun, 8 Jun 2008 22:05:11 +0000 (22:05 +0000)]
Revert a bad edit from r52095.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52103 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd vmkit and rewrite clang section
Chris Lattner [Sun, 8 Jun 2008 21:58:17 +0000 (21:58 +0000)]
add vmkit and rewrite clang section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52102 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agostart edits.
Chris Lattner [Sun, 8 Jun 2008 21:34:41 +0000 (21:34 +0000)]
start edits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52100 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd more notes.
Chris Lattner [Sun, 8 Jun 2008 21:19:07 +0000 (21:19 +0000)]
add more notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52099 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove comparison methods for MVT. The main cause
Duncan Sands [Sun, 8 Jun 2008 20:54:56 +0000 (20:54 +0000)]
Remove comparison methods for MVT.  The main cause
of apint codegen failure is the DAG combiner doing
the wrong thing because it was comparing MVT's using
< rather than comparing the number of bits.  Removing
the < method makes this mistake impossible to commit.
Instead, add helper methods for comparing bits and use
them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52098 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLimit the icmp+phi merging optimization to the cases where it is profitable:
Chris Lattner [Sun, 8 Jun 2008 20:52:11 +0000 (20:52 +0000)]
Limit the icmp+phi merging optimization to the cases where it is profitable:
don't make i1 phis when it won't be possible to eliminate them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52097 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd some html escapes
Chris Lattner [Sun, 8 Jun 2008 20:25:30 +0000 (20:25 +0000)]
add some html escapes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52096 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUsing llc always rather than sometimes using LLC.
Duncan Sands [Sun, 8 Jun 2008 20:18:35 +0000 (20:18 +0000)]
Using llc always rather than sometimes using LLC.
Try to improve language in various places.  Use
X86 always rather than sometimes using x86.  Add
some minor Ada info.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52095 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix spelling.
Duncan Sands [Sun, 8 Jun 2008 19:38:43 +0000 (19:38 +0000)]
Fix spelling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52094 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove invalid test
Anton Korobeynikov [Sun, 8 Jun 2008 16:59:10 +0000 (16:59 +0000)]
Remove invalid test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52093 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd win64
Anton Korobeynikov [Sun, 8 Jun 2008 10:24:13 +0000 (10:24 +0000)]
Add win64

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52091 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis was fixed
Anton Korobeynikov [Sun, 8 Jun 2008 10:23:46 +0000 (10:23 +0000)]
This was fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52090 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd some notes.
Chris Lattner [Sun, 8 Jun 2008 02:45:07 +0000 (02:45 +0000)]
add some notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52087 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded FP instruction formats.
Bruno Cardoso Lopes [Sun, 8 Jun 2008 01:39:36 +0000 (01:39 +0000)]
Added FP instruction formats.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52086 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporarily reverting r52056. It's causing PPC to fail to bootstrap.
Bill Wendling [Sun, 8 Jun 2008 01:36:24 +0000 (01:36 +0000)]
Temporarily reverting r52056. It's causing PPC to fail to bootstrap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52085 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded support for FP Registers
Bruno Cardoso Lopes [Sat, 7 Jun 2008 21:32:41 +0000 (21:32 +0000)]
Added support for FP Registers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52079 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate VC project files, patch by Cédric Venet!
Chris Lattner [Sat, 7 Jun 2008 19:33:54 +0000 (19:33 +0000)]
Update VC project files, patch by Cédric Venet!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52077 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSpeculatively execute a block when the the block is the then part of a triangle shape...
Evan Cheng [Sat, 7 Jun 2008 08:52:29 +0000 (08:52 +0000)]
Speculatively execute a block when the the block is the then part of a triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e.

Turn
BB:
    %t1 = icmp
    br i1 %t1, label %BB1, label %BB2
BB1:
    %t3 = add %t2, c
    br label BB2
BB2:
=>
BB:
    %t1 = icmp
    %t4 = add %t2, c
    %t3 = select i1 %t1, %t2, %t3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52073 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix run line.
Evan Cheng [Sat, 7 Jun 2008 08:40:16 +0000 (08:40 +0000)]
Fix run line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52072 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert r52046. It broke cbe on x86 / Mac OS X.
Evan Cheng [Sat, 7 Jun 2008 07:50:29 +0000 (07:50 +0000)]
Revert r52046. It broke cbe on x86 / Mac OS X.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52071 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCodeGen support for insertvalue and extractvalue, and for loads and
Dan Gohman [Sat, 7 Jun 2008 02:02:36 +0000 (02:02 +0000)]
CodeGen support for insertvalue and extractvalue, and for loads and
stores of aggregate values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52069 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConnect successors before creating the DAG node for the branch. This has
Owen Anderson [Sat, 7 Jun 2008 00:00:23 +0000 (00:00 +0000)]
Connect successors before creating the DAG node for the branch.  This has
no visible functionality change, but enables a future patch where node creation
will update the CFG if it decides to create an unconditional rather than a conditional branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52067 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoget rid of ExtractValueInst::init's Value argument, it is already passed to the Unary...
Gabor Greif [Fri, 6 Jun 2008 21:06:32 +0000 (21:06 +0000)]
get rid of ExtractValueInst::init's Value argument, it is already passed to the UnaryInstruction ctor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52064 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTypo.
Evan Cheng [Fri, 6 Jun 2008 21:00:10 +0000 (21:00 +0000)]
Typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52062 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomake ExtractValueInst derived from UnaryInstruction
Gabor Greif [Fri, 6 Jun 2008 20:28:12 +0000 (20:28 +0000)]
make ExtractValueInst derived from UnaryInstruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52061 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEnable stack coloring by default.
Evan Cheng [Fri, 6 Jun 2008 19:52:44 +0000 (19:52 +0000)]
Enable stack coloring by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52057 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPPC preferred loop alignment is 16.
Evan Cheng [Fri, 6 Jun 2008 19:50:46 +0000 (19:50 +0000)]
PPC preferred loop alignment is 16.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52056 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLoopSimplify preserves AA.
Devang Patel [Fri, 6 Jun 2008 17:50:58 +0000 (17:50 +0000)]
LoopSimplify preserves AA.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52053 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPrint debug message only if there are dead passes.
Devang Patel [Fri, 6 Jun 2008 17:50:36 +0000 (17:50 +0000)]
Print debug message only if there are dead passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52052 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInclude loop deletion and the ADCE rewrite in the release notes.
Owen Anderson [Fri, 6 Jun 2008 16:23:15 +0000 (16:23 +0000)]
Include loop deletion and the ADCE rewrite in the release notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52048 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTestcase for PR2418
Anton Korobeynikov [Fri, 6 Jun 2008 16:08:56 +0000 (16:08 +0000)]
Testcase for PR2418

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52047 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle assembler identifiers specially in CBE. This fixes PR2418.
Anton Korobeynikov [Fri, 6 Jun 2008 16:08:26 +0000 (16:08 +0000)]
Handle assembler identifiers specially in CBE. This fixes PR2418.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52046 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTighten up the abstraction slightly.
Duncan Sands [Fri, 6 Jun 2008 12:49:32 +0000 (12:49 +0000)]
Tighten up the abstraction slightly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52045 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWrap MVT::ValueType in a struct to get type safety
Duncan Sands [Fri, 6 Jun 2008 12:08:01 +0000 (12:08 +0000)]
Wrap MVT::ValueType in a struct to get type safety
and better control the abstraction.  Rename the type
to MVT.  To update out-of-tree patches, the main
thing to do is to rename MVT::ValueType to MVT, and
rewrite expressions like MVT::getSizeInBits(VT) in
the form VT.getSizeInBits().  Use VT.getSimpleVT()
to extract a MVT::SimpleValueType for use in switch
statements (you will get an assert failure if VT is
an extended value type - these shouldn't exist after
type legalization).
This results in a small speedup of codegen and no
new testsuite failures (x86-64 linux).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52044 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAs Chris suggested, handle the situation if ShAmt larger than BitWidth,
Zhou Sheng [Fri, 6 Jun 2008 08:32:05 +0000 (08:32 +0000)]
As Chris suggested, handle the situation if ShAmt larger than BitWidth,
otherwise, opt might crash.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52041 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefine stack slot interval weight computation.
Evan Cheng [Fri, 6 Jun 2008 07:54:39 +0000 (07:54 +0000)]
Refine stack slot interval weight computation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52040 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTurn stdout into binary mode during bitcode emission.
Anton Korobeynikov [Fri, 6 Jun 2008 07:24:01 +0000 (07:24 +0000)]
Turn stdout into binary mode during bitcode emission.
This is necessary on windows targets, since stdout is in text mode there.
Patch by Julien Lerouge!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52038 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoProvide hooks for libgcc symbols' address resolution inside lli on mingw32.
Anton Korobeynikov [Fri, 6 Jun 2008 07:20:07 +0000 (07:20 +0000)]
Provide hooks for libgcc symbols' address resolution inside lli on mingw32.
Patch by Julien Lerouge!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52037 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded custom isel for MUL, SDIVREM, UDIVREM, SMUL_LOHI and UMUL_LOHI nodes
Bruno Cardoso Lopes [Fri, 6 Jun 2008 06:37:31 +0000 (06:37 +0000)]
Added custom isel for MUL, SDIVREM, UDIVREM, SMUL_LOHI and UMUL_LOHI nodes
MUL is not anymore directly matched because its a pseudoinstruction.
LogicI class fixed to zero-extend immediates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52036 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded custom SELECT_CC lowering
Bruno Cardoso Lopes [Fri, 6 Jun 2008 00:58:26 +0000 (00:58 +0000)]
Added custom SELECT_CC lowering
Added special isel for ADDE,SUBE and new patterns to match SUBC,ADDC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52031 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert 52002.
Dan Gohman [Thu, 5 Jun 2008 23:57:06 +0000 (23:57 +0000)]
Revert 52002.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52030 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoExpose a public interface to this pass.
Chris Lattner [Thu, 5 Jun 2008 23:45:18 +0000 (23:45 +0000)]
Expose a public interface to this pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52029 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLet libcall semantics decide whether it knows about functions
Chris Lattner [Thu, 5 Jun 2008 23:38:34 +0000 (23:38 +0000)]
Let libcall semantics decide whether it knows about functions
with definitions or not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52028 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWarn of potential violations of strict aliasing rules.
Evan Cheng [Thu, 5 Jun 2008 23:00:08 +0000 (23:00 +0000)]
Warn of potential violations of strict aliasing rules.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52027 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't break strict aliasing.
Evan Cheng [Thu, 5 Jun 2008 22:59:21 +0000 (22:59 +0000)]
Don't break strict aliasing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52026 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDescribe loop index split.
Devang Patel [Thu, 5 Jun 2008 21:44:00 +0000 (21:44 +0000)]
Describe loop index split.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52021 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWording fixes. Thanks Bill!
Dan Gohman [Thu, 5 Jun 2008 18:45:33 +0000 (18:45 +0000)]
Wording fixes. Thanks Bill!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52017 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove debugging code.
Owen Anderson [Thu, 5 Jun 2008 18:43:34 +0000 (18:43 +0000)]
Remove debugging code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52016 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix typos, tweak stuff, make it to validate
Gabor Greif [Thu, 5 Jun 2008 18:39:01 +0000 (18:39 +0000)]
fix typos, tweak stuff, make it to validate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52015 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse the newly created helper on LiveIntervals.
Owen Anderson [Thu, 5 Jun 2008 17:22:53 +0000 (17:22 +0000)]
Use the newly created helper on LiveIntervals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52013 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a helper for constructing new live ranges that ended from an instruction to the...
Owen Anderson [Thu, 5 Jun 2008 17:15:43 +0000 (17:15 +0000)]
Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52012 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove i128 on x86-64 from the codegen section to the x86-specific section.
Dan Gohman [Thu, 5 Jun 2008 16:15:39 +0000 (16:15 +0000)]
Move i128 on x86-64 from the codegen section to the x86-specific section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52010 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a note about improved alignment detection.
Dan Gohman [Thu, 5 Jun 2008 15:49:29 +0000 (15:49 +0000)]
Add a note about improved alignment detection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52009 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a note mentioning --view-sunit-dags improvements.
Dan Gohman [Thu, 5 Jun 2008 15:46:36 +0000 (15:46 +0000)]
Add a note mentioning --view-sunit-dags improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52008 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoExpand the bullet item about i128 support and APInt usage in codegen.
Dan Gohman [Thu, 5 Jun 2008 15:43:11 +0000 (15:43 +0000)]
Expand the bullet item about i128 support and APInt usage in codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52007 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a test case for opt -instcombine bug fix in revision 52003.
Zhou Sheng [Thu, 5 Jun 2008 14:25:11 +0000 (14:25 +0000)]
Add a test case for opt -instcombine bug fix in revision 52003.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52004 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIf BitWidth equals to ShtAmt, the RHSKnownZero[BitWidth-ShiftAmt-1] will
Zhou Sheng [Thu, 5 Jun 2008 14:23:44 +0000 (14:23 +0000)]
If BitWidth equals to ShtAmt, the RHSKnownZero[BitWidth-ShiftAmt-1] will
crash the opt. Just fix this.

Test case in llvm/test/Transforms/InstCombine/2008-06-05-ashr-crash.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52003 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange the Verifier to support returning first class aggregrates.
Matthijs Kooijman [Thu, 5 Jun 2008 14:00:36 +0000 (14:00 +0000)]
Change the Verifier to support returning first class aggregrates.

Add a testcase for functions returning first class aggregrates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52002 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a test case for APInt bug fix in r51999.
Zhou Sheng [Thu, 5 Jun 2008 13:42:21 +0000 (13:42 +0000)]
Add a test case for APInt bug fix in r51999.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52000 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAs comments said, for negative value, the arithmetic
Zhou Sheng [Thu, 5 Jun 2008 13:27:38 +0000 (13:27 +0000)]
As comments said, for negative value, the arithmetic
over-shift-right should return -1. So here it should be signed-extended,
when bitwidth larger than 64.

test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51999 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEscape "$#".
Nick Lewycky [Thu, 5 Jun 2008 12:54:44 +0000 (12:54 +0000)]
Escape "$#".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51998 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLearn ScalarReplAggregrates how stores and loads of first class aggregrates
Matthijs Kooijman [Thu, 5 Jun 2008 12:51:53 +0000 (12:51 +0000)]
Learn ScalarReplAggregrates how stores and loads of first class aggregrates
work and how to replace them into individual values. Also, when trying to
replace an aggregrate that is used by load or store with a single (large)
integer, don't crash (but don't replace the aggregrate either).

Also adds a testcase for both structs and arrays.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51997 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove this to the proper section.
Gordon Henriksen [Thu, 5 Jun 2008 12:51:50 +0000 (12:51 +0000)]
Move this to the proper section.

I misread Optimizer Improvements as Other Improvements for some reason.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51996 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdding release notes for bindings improvements.
Gordon Henriksen [Thu, 5 Jun 2008 12:48:32 +0000 (12:48 +0000)]
Adding release notes for bindings improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51995 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLet StructRetPromotion check if all if its users are really calls or invokesn,
Matthijs Kooijman [Thu, 5 Jun 2008 08:57:20 +0000 (08:57 +0000)]
Let StructRetPromotion check if all if its users are really calls or invokesn,
not other instructions. This fixes a crash with the added testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51992 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLet StructRetPromotion check if it's users are really calling it and not
Matthijs Kooijman [Thu, 5 Jun 2008 08:48:32 +0000 (08:48 +0000)]
Let StructRetPromotion check if it's users are really calling it and not
passing its pointer. Fixes test with added testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51991 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse use_iterator::getOperandNo instead of CallSite::hasArgument to check if a
Matthijs Kooijman [Thu, 5 Jun 2008 08:34:25 +0000 (08:34 +0000)]
Use use_iterator::getOperandNo instead of CallSite::hasArgument to check if a
function is passed as an argument instead of called. Also do this check a bit
earlier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51990 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago * Make CallSite::hasArgument const and let it take a const parameter.
Matthijs Kooijman [Thu, 5 Jun 2008 08:04:58 +0000 (08:04 +0000)]
 * Make CallSite::hasArgument const and let it take a const parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51989 91177308-0d34-0410-b5e6-96231b3b80d8