Jim Laskey [Wed, 28 Feb 2007 18:37:04 +0000 (18:37 +0000)]
MERGE_VALUES unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34750
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 18:35:36 +0000 (18:35 +0000)]
fastcc -> fastcall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 18:35:11 +0000 (18:35 +0000)]
bugfix: fastcall does not require the first two params to be marked 'inreg',
they always get registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 18:21:50 +0000 (18:21 +0000)]
fastcc -> fastcall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34747
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 17:42:50 +0000 (17:42 +0000)]
fastcc -> fastcall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34746
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 17:36:23 +0000 (17:36 +0000)]
For PR1205:
Convert ConstantRange class to use APInt internally as its value type for
the constant range, instead of ConstantInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34745
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 17:34:32 +0000 (17:34 +0000)]
Make the trunc/sext/zext methods return APInt& so that these operations
can be chained together with other operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34743
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 17:33:36 +0000 (17:33 +0000)]
Make APInt a little more friendly to its users:
* Add support for + and - of a uint64_t.
* Make trunc/sext/zext return *this so it can be chained with other ops
* Add smin, smax, umin, umax functions for getting min/max values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34742
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 28 Feb 2007 09:16:38 +0000 (09:16 +0000)]
Fix a typo, thanks Bill!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34741
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 28 Feb 2007 07:40:50 +0000 (07:40 +0000)]
More Mach-O writer improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 07:09:55 +0000 (07:09 +0000)]
use high-level functions in CCState
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34739
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 07:09:40 +0000 (07:09 +0000)]
add methods for analysis of call results and return nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34738
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 07:00:42 +0000 (07:00 +0000)]
make use of helper functions in CCState for analyzing formals and calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34737
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:56:37 +0000 (06:56 +0000)]
add methods to analyze calls and formals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34736
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:42:11 +0000 (06:42 +0000)]
add a newline at end of file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34735
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:26:33 +0000 (06:26 +0000)]
switch LowerFastCCCallTo over to using the new fastcall description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34734
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:21:19 +0000 (06:21 +0000)]
switch LowerFastCCArguments over to using the autogenerated Fastcall description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34733
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:20:01 +0000 (06:20 +0000)]
add new CC_X86_32_FastCall calling conv, which describes fastcall on win32.
Factor out a CC_X86_32_Common convention, which is the part shared between
ccc, stdcall and fastcall
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34732
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:10:12 +0000 (06:10 +0000)]
rearrange code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34731
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 06:05:16 +0000 (06:05 +0000)]
remove fastcc (not fastcall) support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34730
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:46:49 +0000 (05:46 +0000)]
switch LowerCCCArguments over to using autogenerated CC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:39:26 +0000 (05:39 +0000)]
simplify sret handling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:31:48 +0000 (05:31 +0000)]
switch LowerCCCCallTo over to using an autogenerated callingconv
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:30:29 +0000 (05:30 +0000)]
rename stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:29:33 +0000 (05:29 +0000)]
rename some CCActions, add CCIfInReg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:29:06 +0000 (05:29 +0000)]
rename some CCActions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 05:10:40 +0000 (05:10 +0000)]
correct dependency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 04:55:35 +0000 (04:55 +0000)]
switch return value passing and the x86-64 calling convention information
over to being autogenerated from the X86CallingConv.td file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34722
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 04:51:41 +0000 (04:51 +0000)]
make subtarget references work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 04:43:48 +0000 (04:43 +0000)]
implement CCPromoteToType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34720
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:33:06 +0000 (02:33 +0000)]
Describe how arbitrary precision integers are written to the bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34719
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:25:48 +0000 (02:25 +0000)]
Implement reading of arbitrary precision integers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34718
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:25:20 +0000 (02:25 +0000)]
Implement writing of arbitrary precision integers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34717
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:24:54 +0000 (02:24 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34716
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:24:27 +0000 (02:24 +0000)]
Implement arbitrary integer constants through the use of APInt values.
Positive, negative, and hexadecimal integer constants will now return an
APInt for values having > 64 bits of precision.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34715
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:23:44 +0000 (02:23 +0000)]
Implement support for aribrary precision integers by creating two new
tokens: ESAPINTVAL and EUAPINTVAL and adding an APInt* as a semantic value.
This allows us to extend the definition of an integer constant to allow
arbitrary precision integer constant values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34714
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 02:20:49 +0000 (02:20 +0000)]
getActiveWords should return the number of words, not the index of the
highest active words. Increment its result by one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34713
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 01:30:08 +0000 (01:30 +0000)]
Fix a bug in RoundDoubleToAPInt where it would force the size to 64 bits
instead of honoring the client's requested bit width.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34712
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 00:59:19 +0000 (00:59 +0000)]
Make requiresRegisterScavenging determination on a per MachineFunction basis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34711
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 00:36:33 +0000 (00:36 +0000)]
Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34710
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 00:22:44 +0000 (00:22 +0000)]
Temporary: make R12 available in ARM mode if RegScavenger is being used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34709
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 00:21:58 +0000 (00:21 +0000)]
Start making use of RegScavenger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34708
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 00:21:17 +0000 (00:21 +0000)]
PEI now passes a RegScavenger ptr to eliminateFrameIndex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34707
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 00:17:36 +0000 (00:17 +0000)]
MRegisterInfo disowns RegScavenger. It's immutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34706
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 23:49:07 +0000 (23:49 +0000)]
Join two lines that can be joined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34705
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 23:47:33 +0000 (23:47 +0000)]
Add some syntactic sugar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34704
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 23:33:03 +0000 (23:33 +0000)]
Pull out the stops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34703
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 23:27:26 +0000 (23:27 +0000)]
Remove some redundancy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34702
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 23:03:55 +0000 (23:03 +0000)]
Minor tweak. Allocate r0 to r3 in reverse order, r3 is least likely to be livein to a function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34701
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 22:58:43 +0000 (22:58 +0000)]
Some more code clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 22:12:19 +0000 (22:12 +0000)]
reenable generation of CC info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34699
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 22:10:52 +0000 (22:10 +0000)]
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 22:08:27 +0000 (22:08 +0000)]
reapply
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 22:05:51 +0000 (22:05 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34696
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 21:59:26 +0000 (21:59 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34695
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:47:22 +0000 (21:47 +0000)]
Back out previous commit temporarily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34694
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:44:08 +0000 (21:44 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34693
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:12:35 +0000 (21:12 +0000)]
Let MRegisterInfo now owns RegScavenger; eliminateFrameIndex must preserve register kill info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34692
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:10:33 +0000 (21:10 +0000)]
Let MRegisterInfo now owns RegScavenger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34691
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:09:48 +0000 (21:09 +0000)]
RegScavenger interface change to make it more flexible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34690
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:08:07 +0000 (21:08 +0000)]
Let MRegisterInfo owns RegScavenger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34689
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 21:06:57 +0000 (21:06 +0000)]
Pass IsImp, IsKill, and IsDead to ChangeToRegister.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34688
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 20:46:44 +0000 (20:46 +0000)]
This test passes on x86/Linux now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34686
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 20:45:02 +0000 (20:45 +0000)]
implement CCMatchIfCC in terms of CCMatchIf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34685
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 20:44:31 +0000 (20:44 +0000)]
build cc info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34684
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 20:44:12 +0000 (20:44 +0000)]
target for generating CC info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34683
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 20:43:37 +0000 (20:43 +0000)]
initial support for calling convention generation, still unfinished.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34682
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 20:25:25 +0000 (20:25 +0000)]
Adjust to changes in the APInt interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34681
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 20:24:31 +0000 (20:24 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34680
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 19:31:09 +0000 (19:31 +0000)]
Conform to single person attribution in file comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34678
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 19:29:54 +0000 (19:29 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34677
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 19:26:40 +0000 (19:26 +0000)]
Update for constant folding now generating undef and overflow correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34676
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 19:22:36 +0000 (19:22 +0000)]
Shifting by the bit width now produces undef, not 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34675
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 18:23:40 +0000 (18:23 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34673
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 18:22:31 +0000 (18:22 +0000)]
Allow the RoundDoubleToAPInt function to specify a width to use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 17:21:09 +0000 (17:21 +0000)]
a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34670
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 27 Feb 2007 15:00:39 +0000 (15:00 +0000)]
Make getPassManagerType() const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34669
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Tue, 27 Feb 2007 13:10:41 +0000 (13:10 +0000)]
Fix parenthesis for BCTRL_{ELF|Macho} test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34668
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Tue, 27 Feb 2007 13:01:19 +0000 (13:01 +0000)]
Differentiate between the MachO and the ELF ABI the CALL instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34667
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 27 Feb 2007 11:55:45 +0000 (11:55 +0000)]
Duplicate use of LR, take 2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34666
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Tue, 27 Feb 2007 10:44:42 +0000 (10:44 +0000)]
Added myself
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34665
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 08:34:09 +0000 (08:34 +0000)]
Allow the AsmWriter to print out arbitrary precision integers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34664
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 07:57:53 +0000 (07:57 +0000)]
Correct the implelmentation of ConstantInt::getAllOnesValue() for bit
widths > 64 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34663
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 07:35:18 +0000 (07:35 +0000)]
Get rid of extraneous // in file comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34662
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 06:59:52 +0000 (06:59 +0000)]
Add calling convention info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34661
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 06:23:51 +0000 (06:23 +0000)]
For PR1205:
Implement constant folding via APInt instead of uint64_t.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34660
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 05:57:32 +0000 (05:57 +0000)]
move target independent calling convention stuff to TargetCallingConv.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34659
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 05:51:05 +0000 (05:51 +0000)]
fill in some holes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34658
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 05:28:59 +0000 (05:28 +0000)]
switch x86-64 return value lowering over to using same mechanism as argument
lowering uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34657
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 05:13:54 +0000 (05:13 +0000)]
Minor refactoring of CC Lowering interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34656
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 04:43:02 +0000 (04:43 +0000)]
move CC Lowering stuff to its own public interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 04:18:15 +0000 (04:18 +0000)]
refactor x86-64 argument lowering yet again, this time eliminating templates,
'clients', etc, and adding CCValAssign instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34654
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Feb 2007 03:05:06 +0000 (03:05 +0000)]
ConstantFolding.cpp/h -> ConstantFold.cpp/h to avoid confusion with
lib/Analysis/ConstantFolding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34653
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 02:55:29 +0000 (02:55 +0000)]
Backing out Jim's LR spill changes. This was causing llvm-gcc bootstrapping
to infinite loop:
PPCMachineFunctionInfo.h updated: 1.2 -> 1.3
PPCRegisterInfo.cpp updated: 1.110 -> 1.111
PPCRegisterInfo.h updated: 1.28 -> 1.29
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34652
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 02:45:12 +0000 (02:45 +0000)]
XFAIL this on x86-Linux until its fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34651
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 02:34:02 +0000 (02:34 +0000)]
Remove test cases that produce undefined results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34650
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Feb 2007 01:58:48 +0000 (01:58 +0000)]
forward() should not increment internal iterator. Its client may insert instruction between now and next forward() call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34649
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Feb 2007 01:28:10 +0000 (01:28 +0000)]
Simplify and document RoundDoubleToAPInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34648
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 26 Feb 2007 23:54:03 +0000 (23:54 +0000)]
For PR1205:
Implement the first step towards arbitrary precision integer support in
LLVM. The APInt class provides arbitrary precision arithmetic and value
representation. This patch changes ConstantInt to use APInt as its value
representation without supporting bit widths > 64 yet. That change will
come after ConstantFolding handles bit widths > 64 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34647
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 26 Feb 2007 23:38:21 +0000 (23:38 +0000)]
1. Make sure all delete operators of arrays use the array form of delete.
2. Rewrite operator=(const APInt& RHS) to allow the RHS to be a different
bit width than the LHS. This makes it possible to use APInt as the key
of a DenseMap, as needed for the IntConstants map in Constants.cpp
3. Fix operator=(uint64_t) to clear unused bits in case the client assigns
a value that has more bits than the APInt allows.
4. Assert that bit widths are equal in operator==
5. Revise getHashValue() to put the bit width in the low order six bits.
This should help to make i1 0, i2 0, ... i64 0 all distinct in the
IntConstants DenseMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34646
91177308-0d34-0410-b5e6-
96231b3b80d8