oota-llvm.git
17 years agoAdd eh filter intrinsic.
Jim Laskey [Thu, 1 Mar 2007 20:23:39 +0000 (20:23 +0000)]
Add eh filter intrinsic.

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

17 years agoAdd bitsToDouble and bitsToFloat methods for re-interpretation of bits as FP.
Reid Spencer [Thu, 1 Mar 2007 20:06:51 +0000 (20:06 +0000)]
Add bitsToDouble and bitsToFloat methods for re-interpretation of bits as FP.

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

17 years agoWrap a long line.
Reid Spencer [Thu, 1 Mar 2007 19:48:16 +0000 (19:48 +0000)]
Wrap a long line.

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

17 years agoAvoid a potential assert out if the loop increment is > 64 bits.
Reid Spencer [Thu, 1 Mar 2007 19:45:00 +0000 (19:45 +0000)]
Avoid a potential assert out if the loop increment is > 64 bits.

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

17 years agoRegenerate.
Reid Spencer [Thu, 1 Mar 2007 19:41:47 +0000 (19:41 +0000)]
Regenerate.

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

17 years agoThe 64-bit constructor for ConstantInt changes from int64_t to uint64_t.
Reid Spencer [Thu, 1 Mar 2007 19:33:52 +0000 (19:33 +0000)]
The 64-bit constructor for ConstantInt changes from int64_t to uint64_t.
This caused a warning for construction with -1. Avoid the warning by using
-1ULL instead.

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

17 years agoConstruct ConstantInt with simpler constructor.
Reid Spencer [Thu, 1 Mar 2007 19:32:33 +0000 (19:32 +0000)]
Construct ConstantInt with simpler constructor.

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

17 years agoUse a simpler constructor when constructing ConstantInt. Also, replace
Reid Spencer [Thu, 1 Mar 2007 19:32:01 +0000 (19:32 +0000)]
Use a simpler constructor when constructing ConstantInt. Also, replace
verbose code to sext/trunc or zext/trunc and APInt with new methods on
that class.

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

17 years agoUse a simpler constructor when constructing ConstantInst.
Reid Spencer [Thu, 1 Mar 2007 19:31:12 +0000 (19:31 +0000)]
Use a simpler constructor when constructing ConstantInst.

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

17 years agoDrop the ConstantInt(const Type&, const APInt&) constructor. It is
Reid Spencer [Thu, 1 Mar 2007 19:30:34 +0000 (19:30 +0000)]
Drop the ConstantInt(const Type&, const APInt&) constructor. It is
redundant and more verbose than the ConstantInt(const APInt&) constructor.

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

17 years agoMake the static table of results in sqrt const.
Reid Spencer [Thu, 1 Mar 2007 17:47:31 +0000 (17:47 +0000)]
Make the static table of results in sqrt const.

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

17 years agoFix last night's 445.gobmk breakage which was caused by comparison of
Reid Spencer [Thu, 1 Mar 2007 17:17:21 +0000 (17:17 +0000)]
Fix last night's 445.gobmk breakage which was caused by comparison of
APInt's of unequal bitwidth.

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

17 years agoAdd methods for bit width modification: sextOrTrunc, zextOrTrunc.
Reid Spencer [Thu, 1 Mar 2007 17:15:32 +0000 (17:15 +0000)]
Add methods for bit width modification: sextOrTrunc, zextOrTrunc.

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

17 years agoEnsure that fastcall'ed function is correctly mangled & stack is
Anton Korobeynikov [Thu, 1 Mar 2007 16:29:22 +0000 (16:29 +0000)]
Ensure that fastcall'ed function is correctly mangled & stack is
properly aligned

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

17 years agoImplemented the frameaddress intrinsic for PPC.
Nicolas Geoffray [Thu, 1 Mar 2007 13:11:38 +0000 (13:11 +0000)]
Implemented the frameaddress intrinsic for PPC.

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

17 years agoDelete register scavenger when done with it.
Evan Cheng [Thu, 1 Mar 2007 10:23:33 +0000 (10:23 +0000)]
Delete register scavenger when done with it.

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

17 years agoUse a spilled free callee-saved register as scratch register.
Evan Cheng [Thu, 1 Mar 2007 08:57:52 +0000 (08:57 +0000)]
Use a spilled free callee-saved register as scratch register.

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

17 years agoAdd a version of FindUnusedReg that restrict search to a specific set of registers.
Evan Cheng [Thu, 1 Mar 2007 08:56:24 +0000 (08:56 +0000)]
Add a version of FindUnusedReg that restrict search to a specific set of registers.

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

17 years ago- Track which callee-saved registers are spilled.
Evan Cheng [Thu, 1 Mar 2007 08:26:31 +0000 (08:26 +0000)]
- Track which callee-saved registers are spilled.
- Some code clean up.

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

17 years agoRemove the "isSigned" parameters from ConstantRange. It turns out they
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

17 years agoSwitch from std::vector<bool> to BitVector.
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

17 years agoAPIntify various computations in ScalarEvolution
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

17 years agoUse a real table in sqrt to shorten and quicken the code.
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

17 years agoGet rid of verboten <iostream> include.
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

17 years agoUse the GCC built-in for PopulationCount when it's available, and use a faster
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

17 years agoAdd a square root function.
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

17 years agoReduce #includage by taking a method out of line.
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

17 years agoA restore is promoted to copy (or deleted entirely), remove the kill from the last...
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

17 years agoInterface clean up.
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

17 years agoAdd an IntegerType::getMask() method to get an APInt mask for the type.
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

17 years agoInterface clean up.
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

17 years agoClean up interface.
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

17 years agoOops.
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

17 years agoTrack all joined registers and eliminate unneeded kills after all joining are done.
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

17 years agoMachineBasicBlock fields should not be public.
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

17 years agoFor PR1205:
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

17 years agoChanges requested in review of last pass. Also pulled isThumb into a
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

17 years agoDoh. ARM::PC is obvious a reserved register.
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

17 years agoFor PR1205:
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

17 years agoMove ConstantRange class to lib/Support from lib/Analysis and make its
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

17 years agoProvide an ICmpInst::makeConstantRange to generate a ConstantRange value
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

17 years agoChain is on second operand.
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

17 years agoFor PR1205:
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

17 years agoImplement a convenience method to construct a ConstantInt directly from an
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

17 years agoFor PR1205:
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

17 years agoAdd intelligence about where to break large blocks.
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

17 years agoremove dead option
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

17 years agoEliminate enable-x86-fastcc
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

17 years agoHandle mix of personalities.
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

17 years agoProvide a more meaningful name.
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

17 years agoMERGE_VALUES unnecessary.
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

17 years agofastcc -> fastcall
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

17 years agobugfix: fastcall does not require the first two params to be marked 'inreg',
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

17 years agofastcc -> fastcall
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

17 years agofastcc -> fastcall
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

17 years agoFor PR1205:
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

17 years agoMake the trunc/sext/zext methods return APInt& so that these operations
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

17 years agoMake APInt a little more friendly to its users:
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

17 years agoFix a typo, thanks Bill!
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

17 years agoMore Mach-O writer improvements.
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

17 years agouse high-level functions in CCState
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

17 years agoadd methods for analysis of call results and return nodes.
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

17 years agomake use of helper functions in CCState for analyzing formals and calls.
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

17 years agoadd methods to analyze calls and formals.
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

17 years agoadd a newline at end of file
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

17 years agoswitch LowerFastCCCallTo over to using the new fastcall description.
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

17 years agoswitch LowerFastCCArguments over to using the autogenerated Fastcall description.
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

17 years agoadd new CC_X86_32_FastCall calling conv, which describes fastcall on win32.
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

17 years agorearrange code
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

17 years agoremove fastcc (not fastcall) support
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

17 years agoswitch LowerCCCArguments over to using autogenerated CC.
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

17 years agosimplify sret handling
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

17 years agoswitch LowerCCCCallTo over to using an autogenerated callingconv
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

17 years agorename stuff
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

17 years agorename some CCActions, add CCIfInReg
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

17 years agorename some CCActions
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

17 years agocorrect dependency
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

17 years agoswitch return value passing and the x86-64 calling convention information
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

17 years agomake subtarget references work.
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

17 years agoimplement CCPromoteToType
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

17 years agoDescribe how arbitrary precision integers are written to the bytecode.
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

17 years agoImplement reading of arbitrary precision integers.
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

17 years agoImplement writing of arbitrary precision integers.
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

17 years agoRegenerate.
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

17 years agoImplement arbitrary integer constants through the use of APInt values.
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

17 years agoImplement support for aribrary precision integers by creating two new
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

17 years agogetActiveWords should return the number of words, not the index of the
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

17 years agoFix a bug in RoundDoubleToAPInt where it would force the size to 64 bits
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

17 years agoMake requiresRegisterScavenging determination on a per MachineFunction basis.
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

17 years agoFix test case.
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

17 years agoTemporary: make R12 available in ARM mode if RegScavenger is being used.
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

17 years agoStart making use of RegScavenger.
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

17 years agoPEI now passes a RegScavenger ptr to eliminateFrameIndex.
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

17 years agoMRegisterInfo disowns RegScavenger. It's immutable.
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

17 years agoJoin two lines that can be joined.
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

17 years agoAdd some syntactic sugar.
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

17 years agoPull out the stops.
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

17 years agoRemove some redundancy.
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

17 years agoMinor tweak. Allocate r0 to r3 in reverse order, r3 is least likely to be livein...
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

17 years agoSome more code clean up.
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