Chris Lattner
f119813ff4
simplify result value lowering by splitting the selection of *where* to return
...
registers out from the logic of *how* to return them.
This changes X86-64 to mark EAX live out when returning a 32-bit value,
where before it marked RAX liveout.
llvm-svn: 34582
2007-02-25 08:15:11 +00:00
Reid Spencer
ec6159bbea
Allow this to compile now that the header file is checked in.
...
llvm-svn: 34581
2007-02-25 07:30:14 +00:00
Reid Spencer
e7d8a0e3b7
Add a private constructor for efficiency.
...
llvm-svn: 34580
2007-02-25 07:29:03 +00:00
Chris Lattner
bcce79717b
make void-return not a special case
...
llvm-svn: 34579
2007-02-25 07:18:38 +00:00
Chris Lattner
d00fcb3277
eliminate a bunch more temporary vectors from X86 lowering.
...
llvm-svn: 34578
2007-02-25 07:10:00 +00:00
Chris Lattner
f7eeef816d
eliminate temporary vectors created during X86 lowering.
...
llvm-svn: 34577
2007-02-25 06:40:16 +00:00
Chris Lattner
6f25082e67
remove std::vector's in RET lowering.
...
llvm-svn: 34576
2007-02-25 06:21:57 +00:00
Chris Lattner
a38cc935a9
verify i128 return on x86-64 continues to codegen optimally.
...
llvm-svn: 34575
2007-02-25 06:06:49 +00:00
Chris Lattner
041fb5bc67
implement support for the linux/ppc function call ABI. Patch by
...
Nicolas Geoffray!
llvm-svn: 34574
2007-02-25 05:34:32 +00:00
Chris Lattner
ed4920842f
Add XLForm_1_ext template, patch by Nicolas Geoffray.
...
llvm-svn: 34573
2007-02-25 05:07:49 +00:00
Chris Lattner
42cfb7c452
Improve JIT support for linux/ppc: Patch by Nicolas Geoffray!
...
llvm-svn: 34572
2007-02-25 05:04:13 +00:00
Chris Lattner
5adebeb207
this doesn't compile, disable it
...
llvm-svn: 34571
2007-02-25 02:32:44 +00:00
Chris Lattner
18388d5d40
remove these.
...
llvm-svn: 34570
2007-02-25 02:28:21 +00:00
Reid Spencer
0fd90c3447
Clean up lshr and ashr to coding standards.
...
Handle the single word cases for shiftAmt == BitWidth.
llvm-svn: 34569
2007-02-25 01:56:07 +00:00
Dale Johannesen
6e366a1006
remove crediting of Evan Cheng and me.
...
llvm-svn: 34568
2007-02-25 01:42:36 +00:00
Chris Lattner
b9f2992e38
initialize a instance variable
...
llvm-svn: 34567
2007-02-25 01:28:05 +00:00
Chris Lattner
7aa773f8f0
update this for llvm-gcc4
...
llvm-svn: 34566
2007-02-25 01:11:36 +00:00
Reid Spencer
66e162cfcd
Whoops, last word with bits in large shift left wasn't correct.
...
llvm-svn: 34565
2007-02-25 01:08:58 +00:00
Reid Spencer
4dcbccdc99
Fix the > 64 bits case for left shift.
...
llvm-svn: 34564
2007-02-25 00:56:44 +00:00
Dale Johannesen
ccecc12da5
Removed WaterListOffset, inserted BBOffsets. Remove TODO item about this
...
from README.
When no water available, use end of block if in range. (More to do here.)
llvm-svn: 34563
2007-02-25 00:47:03 +00:00
Reid Spencer
ecc067a698
Fix the remainder shifting in KnuthDiv.
...
llvm-svn: 34562
2007-02-24 20:38:01 +00:00
Reid Spencer
d6956a0e8c
1. Fix a bug in fromString for the <= 64bits case
...
2. Fix shl when shiftAmount == BitWidth.
llvm-svn: 34560
2007-02-24 20:19:37 +00:00
Reid Spencer
e2bb0cf83e
1. Fix last bug in KnuthDiv. All divide tests pass up to 1024 bits now.
...
2. Clean up comments, style, coding standards, etc.
3. Simplify a constructor.
Extended testing revealed some additional bugs in shifting. I'll fix these
tomorrow.
llvm-svn: 34559
2007-02-24 10:01:42 +00:00
Reid Spencer
a2a4a55915
Improve documentation.
...
Make divide function internal (it was briefly external for testing).
llvm-svn: 34557
2007-02-24 09:50:13 +00:00
Jim Laskey
53e71a9657
Deal with cases when MMI is not requested.
...
llvm-svn: 34556
2007-02-24 09:45:44 +00:00
Jim Laskey
10c6c6b46d
Drop unused operand.
...
llvm-svn: 34555
2007-02-24 09:44:17 +00:00
Reid Spencer
b45646b14e
1. Make internal functions take const arguments where they should, just
...
to be safe.
2. Make internal functions that return a carry/borrow return bool instead
of uint64_t because the carry/borrow can only be in range [0,1].
3. Assert that the pointers to KnuthDiv are all different so that the
result and operands can't overlap.
4. Add debug output to KnuthDiv function.
5. Fix a problem with KnuthDiv by separating the b's complement operation
from the subtraction borrow operation. This fixes a wide range of
division problems, but alas, not all of them.
llvm-svn: 34554
2007-02-24 03:58:46 +00:00
Bill Wendling
e4ae26c339
Added some more information on how to use "delta" to reduce testcases.
...
llvm-svn: 34553
2007-02-24 03:46:42 +00:00
Chris Lattner
28f1c620c6
Fix PR1216 by cleaning up the ownership of JITResolver.
...
llvm-svn: 34552
2007-02-24 02:57:03 +00:00
Chris Lattner
6faf9e8e97
Fix CodeGen/Generic/2007-02-23-DAGCombine-Miscompile.ll and PR1219
...
llvm-svn: 34551
2007-02-24 02:09:29 +00:00
Chris Lattner
e7afa2a6d9
testcase for PR1219
...
llvm-svn: 34550
2007-02-24 02:08:00 +00:00
Chris Lattner
e37ee33c4e
remove folding set debug output
...
llvm-svn: 34549
2007-02-24 01:41:48 +00:00
Chris Lattner
5480ffb904
Fix Transforms/ConstProp/2007-02-23-sdiv.ll and PR1215
...
llvm-svn: 34548
2007-02-24 01:19:50 +00:00
Chris Lattner
63ddace902
testcase for pr1215
...
llvm-svn: 34547
2007-02-24 01:16:39 +00:00
Chris Lattner
14217fb105
Fix InstCombine/2007-02-23-PhiFoldInfLoop.ll and PR1217
...
llvm-svn: 34546
2007-02-24 01:03:45 +00:00
Chris Lattner
f222a6e498
testcase for pr1217
...
llvm-svn: 34545
2007-02-24 01:03:11 +00:00
Chris Lattner
0eb72353e4
Refactor the setName stuff, moving it down the inheritance hierarchy, to
...
solve a crash in -instcombine -debug that was hit while investigating PR1217
llvm-svn: 34544
2007-02-24 00:55:48 +00:00
Bill Wendling
ecddfdcff7
Make the testcase correct.
...
llvm-svn: 34543
2007-02-23 23:23:41 +00:00
Bill Wendling
ea0c8f06ca
Testcase for PR1164
...
llvm-svn: 34542
2007-02-23 23:19:32 +00:00
Bill Wendling
2c5f64532b
PR1164:
...
Generate local names with a "llvm_cbe_" prefix using the actual name of the
variable instead of a temporary name.
llvm-svn: 34540
2007-02-23 22:45:08 +00:00
Chris Lattner
042d3195c9
Avoid TBAA issue.
...
llvm-svn: 34539
2007-02-23 22:31:24 +00:00
Jim Laskey
2a5840bc73
New test - practically wrote itself.
...
llvm-svn: 34538
2007-02-23 22:12:08 +00:00
Lauro Ramos Venancio
19040a3f0d
bugfix: SP wasn't updated for varargs when frame pointer was eliminated.
...
llvm-svn: 34537
2007-02-23 21:53:48 +00:00
Evan Cheng
a68efe308e
Reuse extends the liveness of a register. Transfer the kill to the operand that reuse it.
...
llvm-svn: 34536
2007-02-23 21:47:50 +00:00
Jim Laskey
dda4a7577f
Handle improper cast.
...
llvm-svn: 34535
2007-02-23 21:45:01 +00:00
Evan Cheng
f2035d3916
Handle cases when joining live intervals of two virtual registers.
...
llvm-svn: 34534
2007-02-23 20:40:13 +00:00
Jim Laskey
704423b797
Don't spill LR as a callee saved register.
...
llvm-svn: 34533
2007-02-23 20:34:16 +00:00
Lauro Ramos Venancio
7c2f17b629
Fix stack alignment in functions with varargs.
...
llvm-svn: 34532
2007-02-23 20:32:57 +00:00
Chris Lattner
6334a918d8
fix an obscure and tricky bug the inliner can hit sometimes.
...
llvm-svn: 34531
2007-02-23 19:54:30 +00:00
Chris Lattner
1d2922dbb4
fix this testcase
...
llvm-svn: 34530
2007-02-23 19:39:24 +00:00