Reid Spencer [Thu, 1 Mar 2007 07:54:15 +0000 (07:54 +0000)]
Remove the "isSigned" parameters from ConstantRange. It turns out they
are not needed as the results are the same with or without it.
Patch by Nicholas Lewycky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34782
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 07:52:44 +0000 (07:52 +0000)]
Switch from std::vector<bool> to BitVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34781
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Mar 2007 07:25:48 +0000 (07:25 +0000)]
APIntify various computations in ScalarEvolution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34780
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Mar 2007 06:23:32 +0000 (06:23 +0000)]
Use a real table in sqrt to shorten and quicken the code.
Thanks for the idea Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34779
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 1 Mar 2007 06:05:39 +0000 (06:05 +0000)]
Get rid of verboten <iostream> include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34777
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 1 Mar 2007 05:41:28 +0000 (05:41 +0000)]
Use the GCC built-in for PopulationCount when it's available, and use a faster
algorithm when it's not. This should be particularly noticeable in the
64-bit case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34776
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Mar 2007 05:39:56 +0000 (05:39 +0000)]
Add a square root function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34775
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Mar 2007 04:02:06 +0000 (04:02 +0000)]
Reduce #includage by taking a method out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34774
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:27:30 +0000 (02:27 +0000)]
A restore is promoted to copy (or deleted entirely), remove the kill from the last use of the targetted register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34773
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:25:51 +0000 (02:25 +0000)]
Interface clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34772
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 1 Mar 2007 02:25:03 +0000 (02:25 +0000)]
Add an IntegerType::getMask() method to get an APInt mask for the type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34771
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:19:39 +0000 (02:19 +0000)]
Interface clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34770
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:18:06 +0000 (02:18 +0000)]
Clean up interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34769
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:05:35 +0000 (02:05 +0000)]
Oops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34768
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:03:03 +0000 (02:03 +0000)]
Track all joined registers and eliminate unneeded kills after all joining are done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34767
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 1 Mar 2007 02:00:40 +0000 (02:00 +0000)]
MachineBasicBlock fields should not be public.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34766
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 23:31:17 +0000 (23:31 +0000)]
For PR1205:
Make GetConstantFactor compute its result using an APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34765
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 28 Feb 2007 23:20:38 +0000 (23:20 +0000)]
Changes requested in review of last pass. Also pulled isThumb into a
member, instead of resetting in every function that uses it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34764
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 28 Feb 2007 23:12:34 +0000 (23:12 +0000)]
Doh. ARM::PC is obvious a reserved register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34763
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 22:03:51 +0000 (22:03 +0000)]
For PR1205:
Adjust to changes in ConstantRange interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34762
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 22:02:48 +0000 (22:02 +0000)]
Move ConstantRange class to lib/Support from lib/Analysis and make its
interface not depend on Type or ICmpInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34761
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 22:00:54 +0000 (22:00 +0000)]
Provide an ICmpInst::makeConstantRange to generate a ConstantRange value
from a predicate and an APInt. This is removed from ConstantRange class
so that ConstantRange doesn't have to depend on lib/VMCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34760
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 28 Feb 2007 20:43:58 +0000 (20:43 +0000)]
Chain is on second operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34759
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 19:57:34 +0000 (19:57 +0000)]
For PR1205:
Remove ConstantInt from ConstantRange interface and adjust its users to
compensate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34758
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 19:50:21 +0000 (19:50 +0000)]
Implement a convenience method to construct a ConstantInt directly from an
APInt. The implied type is the integer type that corresponds to the bit
width of the APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34757
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 28 Feb 2007 18:57:32 +0000 (18:57 +0000)]
For PR1205:
First round of ConstantRange changes. This makes all CR constructors use
only APInt and not use ConstantInt. Clients are adjusted accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34756
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 28 Feb 2007 18:41:23 +0000 (18:41 +0000)]
Add intelligence about where to break large blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34755
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 18:39:53 +0000 (18:39 +0000)]
remove dead option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34754
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 28 Feb 2007 18:38:58 +0000 (18:38 +0000)]
Eliminate enable-x86-fastcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34753
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 28 Feb 2007 18:38:31 +0000 (18:38 +0000)]
Handle mix of personalities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34752
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 28 Feb 2007 18:37:50 +0000 (18:37 +0000)]
Provide a more meaningful name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34751
91177308-0d34-0410-b5e6-
96231b3b80d8
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