Evan Cheng
add648e3e5
Fix test case.
...
llvm-svn: 34710
2007-02-28 00:36:33 +00:00
Evan Cheng
9049cd72e6
Temporary: make R12 available in ARM mode if RegScavenger is being used.
...
llvm-svn: 34709
2007-02-28 00:22:44 +00:00
Evan Cheng
30508919c8
Start making use of RegScavenger.
...
llvm-svn: 34708
2007-02-28 00:21:58 +00:00
Evan Cheng
95ae95a6a6
PEI now passes a RegScavenger ptr to eliminateFrameIndex.
...
llvm-svn: 34707
2007-02-28 00:21:17 +00:00
Evan Cheng
589ba3964b
MRegisterInfo disowns RegScavenger. It's immutable.
...
llvm-svn: 34706
2007-02-28 00:17:36 +00:00
Reid Spencer
c2d433d47a
Join two lines that can be joined.
...
llvm-svn: 34705
2007-02-27 23:49:07 +00:00
Reid Spencer
98765e17df
Add some syntactic sugar.
...
llvm-svn: 34704
2007-02-27 23:47:33 +00:00
Reid Spencer
4aeaeaf894
Pull out the stops.
...
llvm-svn: 34703
2007-02-27 23:33:03 +00:00
Reid Spencer
3370b04a66
Remove some redundancy.
...
llvm-svn: 34702
2007-02-27 23:27:26 +00:00
Evan Cheng
ee8aca0cfa
Minor tweak. Allocate r0 to r3 in reverse order, r3 is least likely to be livein to a function.
...
llvm-svn: 34701
2007-02-27 23:03:55 +00:00
Evan Cheng
a7e4b60b85
Some more code clean up.
...
llvm-svn: 34700
2007-02-27 22:58:43 +00:00
Chris Lattner
c5e2a3a80e
reenable generation of CC info
...
llvm-svn: 34699
2007-02-27 22:12:19 +00:00
Evan Cheng
8a8dc04e7e
Oops.
...
llvm-svn: 34698
2007-02-27 22:10:52 +00:00
Chris Lattner
cbebe4600f
reapply
...
llvm-svn: 34697
2007-02-27 22:08:27 +00:00
Chris Lattner
bf5f3945fd
*** empty log message ***
...
llvm-svn: 34696
2007-02-27 22:05:51 +00:00
Reid Spencer
31acef50ad
Implement countLeadingOnes() and getMinSignedBits(). This helps to minimize
...
the bit width of negative numbers by computing the minimum bit width for a
negative value. E.g. 0x1800000000000000 could be just 0x8000000000000000
llvm-svn: 34695
2007-02-27 21:59:26 +00:00
Evan Cheng
6f0969ecb9
Back out previous commit temporarily.
...
llvm-svn: 34694
2007-02-27 21:47:22 +00:00
Evan Cheng
116ec30e4f
Backing out
...
CodeGenTarget.cpp updated: 1.82 -> 1.83
Record.cpp updated: 1.55 -> 1.56
Record.h updated: 1.59 -> 1.60
TableGen.cpp updated: 1.47 -> 1.48
It's missing CallingConvEmitter.h
llvm-svn: 34693
2007-02-27 21:44:08 +00:00
Evan Cheng
71a7271b8b
Let MRegisterInfo now owns RegScavenger; eliminateFrameIndex must preserve register kill info.
...
llvm-svn: 34692
2007-02-27 21:12:35 +00:00
Evan Cheng
e50a994cba
Let MRegisterInfo now owns RegScavenger.
...
llvm-svn: 34691
2007-02-27 21:10:33 +00:00
Evan Cheng
51f54640de
RegScavenger interface change to make it more flexible.
...
llvm-svn: 34690
2007-02-27 21:09:48 +00:00
Evan Cheng
16fd33ac5c
Let MRegisterInfo owns RegScavenger.
...
llvm-svn: 34689
2007-02-27 21:08:07 +00:00
Evan Cheng
6b70685aa5
Pass IsImp, IsKill, and IsDead to ChangeToRegister.
...
llvm-svn: 34688
2007-02-27 21:06:57 +00:00
Reid Spencer
ca8c58f8b7
This test passes on x86/Linux now.
...
llvm-svn: 34686
2007-02-27 20:46:44 +00:00
Chris Lattner
aeb9ebe3cf
implement CCMatchIfCC in terms of CCMatchIf
...
llvm-svn: 34685
2007-02-27 20:45:02 +00:00
Chris Lattner
98c9bd586e
build cc info
...
llvm-svn: 34684
2007-02-27 20:44:31 +00:00
Chris Lattner
ee0fe3be68
target for generating CC info
...
llvm-svn: 34683
2007-02-27 20:44:12 +00:00
Chris Lattner
fa024e1ad1
initial support for calling convention generation, still unfinished.
...
llvm-svn: 34682
2007-02-27 20:43:37 +00:00
Reid Spencer
e2eb1fab8c
Adjust to changes in the APInt interface.
...
llvm-svn: 34681
2007-02-27 20:25:25 +00:00
Reid Spencer
70cb5d4287
Improve APInt interface:
...
1. Add unsigned and signed versions of methods so a "bool" argument doesn't
need to be passed in.
2. Make the various getMin/getMax functions all be inline since they are
so simple.
3. Simplify sdiv and srem code.
llvm-svn: 34680
2007-02-27 20:24:31 +00:00
Reid Spencer
997d9e4585
Conform to single person attribution in file comment.
...
llvm-svn: 34678
2007-02-27 19:31:09 +00:00
Reid Spencer
ac419b52ad
For PR1205:
...
Implement review feedback:
1. Use new APInt::RoundDoubleToAPInt interface to specify the bit width so
that we don't have to truncate or extend in constant folding.
2. Fix a pasteo in SDiv that prevented a check for overflow.
3. Fix the shift operators: undef happens when the shift amount is equal
to the bitwidth.
llvm-svn: 34677
2007-02-27 19:29:54 +00:00
Reid Spencer
e4f65e1983
Update for constant folding now generating undef and overflow correctly.
...
llvm-svn: 34676
2007-02-27 19:26:40 +00:00
Reid Spencer
9193cc348e
Shifting by the bit width now produces undef, not 0.
...
llvm-svn: 34675
2007-02-27 19:22:36 +00:00
Reid Spencer
54abdcf30b
1. Fix three serious bugs in the comparison code.
...
2. Change RoundDoubleToAPInt to take a bit width parameter. Use that
parameter to limit the bit width of the result.
llvm-svn: 34673
2007-02-27 18:23:40 +00:00
Reid Spencer
c561bd2f18
Allow the RoundDoubleToAPInt function to specify a width to use.
...
llvm-svn: 34672
2007-02-27 18:22:31 +00:00
Chris Lattner
2ebb2e99d1
a note
...
llvm-svn: 34670
2007-02-27 17:21:09 +00:00
Devang Patel
28349abeab
Make getPassManagerType() const.
...
llvm-svn: 34669
2007-02-27 15:00:39 +00:00
Nicolas Geoffray
b524dfd557
Fix parenthesis for BCTRL_{ELF|Macho} test.
...
llvm-svn: 34668
2007-02-27 13:10:41 +00:00
Nicolas Geoffray
89d81878d2
Differentiate between the MachO and the ELF ABI the CALL instruction.
...
llvm-svn: 34667
2007-02-27 13:01:19 +00:00
Jim Laskey
b6e200bd68
Duplicate use of LR, take 2.
...
llvm-svn: 34666
2007-02-27 11:55:45 +00:00
Nicolas Geoffray
19ec8a9a2c
Added myself
...
llvm-svn: 34665
2007-02-27 10:44:42 +00:00
Reid Spencer
ad25003200
Allow the AsmWriter to print out arbitrary precision integers.
...
llvm-svn: 34664
2007-02-27 08:34:09 +00:00
Reid Spencer
a91ec25da0
Correct the implelmentation of ConstantInt::getAllOnesValue() for bit
...
widths > 64 bits.
llvm-svn: 34663
2007-02-27 07:57:53 +00:00
Reid Spencer
011651745c
Get rid of extraneous // in file comment.
...
llvm-svn: 34662
2007-02-27 07:35:18 +00:00
Chris Lattner
fa9227ed54
Add calling convention info
...
llvm-svn: 34661
2007-02-27 06:59:52 +00:00
Reid Spencer
81658a8aca
For PR1205:
...
Implement constant folding via APInt instead of uint64_t.
llvm-svn: 34660
2007-02-27 06:23:51 +00:00
Chris Lattner
db2049fb8e
move target independent calling convention stuff to TargetCallingConv.td
...
llvm-svn: 34659
2007-02-27 05:57:32 +00:00
Chris Lattner
4c83b98604
fill in some holes
...
llvm-svn: 34658
2007-02-27 05:51:05 +00:00
Chris Lattner
c9eed39a5d
switch x86-64 return value lowering over to using same mechanism as argument
...
lowering uses.
llvm-svn: 34657
2007-02-27 05:28:59 +00:00