oota-llvm.git
17 years agoRegenerate.
Reid Spencer [Thu, 15 Mar 2007 03:26:42 +0000 (03:26 +0000)]
Regenerate.

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

17 years agoRevert last changes as they introduced other problems.
Reid Spencer [Thu, 15 Mar 2007 03:25:34 +0000 (03:25 +0000)]
Revert last changes as they introduced other problems.

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

17 years agoARM isel should match ldr x +/- x * (2^n) to ldr [x, +/- x, lsl #log2(n)].
Evan Cheng [Wed, 14 Mar 2007 23:26:40 +0000 (23:26 +0000)]
ARM isel should match ldr x +/- x * (2^n) to ldr [x, +/- x, lsl #log2(n)].

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

17 years agoRegenerate.
Reid Spencer [Wed, 14 Mar 2007 23:13:06 +0000 (23:13 +0000)]
Regenerate.

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

17 years agoThe sign information was not propagating into the rename map so only the
Reid Spencer [Wed, 14 Mar 2007 23:11:45 +0000 (23:11 +0000)]
The sign information was not propagating into the rename map so only the
last entry stored in the map could be retrieved for a given integer type.
Propagating the sign information required an invasive change to ensure that
all ValueRef (ValID) instances get the right sign information as well. Also,
put in some assertions to ensure the RenameMap always gives us out the type
that is expected.

This fixes PR1256 and
test/Assembler/2007-03-14-UgpradeLocalSignless.ll

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

17 years agoFor PR1256:
Reid Spencer [Wed, 14 Mar 2007 23:08:04 +0000 (23:08 +0000)]
For PR1256:
Carry sign with ValID and make TypeInfo sortable (useful in a map).

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

17 years agoTest case for PR1256.
Reid Spencer [Wed, 14 Mar 2007 23:07:24 +0000 (23:07 +0000)]
Test case for PR1256.

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

17 years agoEstimate a cost using the possible number of scratch registers required and use
Evan Cheng [Wed, 14 Mar 2007 22:43:40 +0000 (22:43 +0000)]
Estimate a cost using the possible number of scratch registers required and use
it as a late BURR scheduling tie-breaker.
Intuitively, it's good to push down instructions whose results are liveout so
their long live ranges won't conflict with other values which are needed inside
the BB. Further prioritize liveout instructions by the number of operands which
are calculated within the BB.

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

17 years agoUnder X86-64 large code model, do not emit 32-bit pc relative calls.
Evan Cheng [Wed, 14 Mar 2007 22:11:11 +0000 (22:11 +0000)]
Under X86-64 large code model, do not emit 32-bit pc relative calls.

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

17 years agoNotes about codegen issues.
Evan Cheng [Wed, 14 Mar 2007 21:03:53 +0000 (21:03 +0000)]
Notes about codegen issues.

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

17 years agoTest that the size of a view converted object is determined by the target
Duncan Sands [Wed, 14 Mar 2007 20:24:53 +0000 (20:24 +0000)]
Test that the size of a view converted object is determined by the target
type, not the source type.

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

17 years agoClean up.
Evan Cheng [Wed, 14 Mar 2007 20:20:19 +0000 (20:20 +0000)]
Clean up.

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

17 years agoOops.
Evan Cheng [Wed, 14 Mar 2007 19:44:58 +0000 (19:44 +0000)]
Oops.

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

17 years agoChange e-mail address.
Jim Laskey [Wed, 14 Mar 2007 19:32:21 +0000 (19:32 +0000)]
Change e-mail address.

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

17 years agoAdd link to exception handling.
Jim Laskey [Wed, 14 Mar 2007 19:31:19 +0000 (19:31 +0000)]
Add link to exception handling.

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

17 years agoAdding credit for PPC changes.
Jim Laskey [Wed, 14 Mar 2007 19:30:33 +0000 (19:30 +0000)]
Adding credit for PPC changes.

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

17 years agoFirst draft of exception handling doc.
Jim Laskey [Wed, 14 Mar 2007 19:29:42 +0000 (19:29 +0000)]
First draft of exception handling doc.

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

17 years agoMake older versions of bison happy.
Jeff Cohen [Wed, 14 Mar 2007 15:27:17 +0000 (15:27 +0000)]
Make older versions of bison happy.

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

17 years agoFix for VS 2005 problem supplied by Morten Ofstad.
Jeff Cohen [Wed, 14 Mar 2007 15:25:21 +0000 (15:25 +0000)]
Fix for VS 2005 problem supplied by Morten Ofstad.

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

17 years agoX86-64 JIT is in large code model. Need stubs for direct calls.
Evan Cheng [Wed, 14 Mar 2007 10:51:55 +0000 (10:51 +0000)]
X86-64 JIT is in large code model. Need stubs for direct calls.

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

17 years agox86-64 JIT stub codegen.
Evan Cheng [Wed, 14 Mar 2007 10:48:08 +0000 (10:48 +0000)]
x86-64 JIT stub codegen.

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

17 years agoPreliminary support for X86-64 JIT stub codegen.
Evan Cheng [Wed, 14 Mar 2007 10:44:30 +0000 (10:44 +0000)]
Preliminary support for X86-64 JIT stub codegen.

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

17 years agoShiftAmt might equal to zero. Handle this situation.
Zhou Sheng [Wed, 14 Mar 2007 09:07:33 +0000 (09:07 +0000)]
ShiftAmt might equal to zero. Handle this situation.

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

17 years agoEnable KnownZero/One.clear().
Zhou Sheng [Wed, 14 Mar 2007 03:21:24 +0000 (03:21 +0000)]
Enable KnownZero/One.clear().

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

17 years agoNew test.
Evan Cheng [Tue, 13 Mar 2007 23:31:47 +0000 (23:31 +0000)]
New test.

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

17 years agoThis got better.
Evan Cheng [Tue, 13 Mar 2007 23:26:41 +0000 (23:26 +0000)]
This got better.

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

17 years agoTry schedule def + use closer whne Sethi-Ullman numbers are the same.
Evan Cheng [Tue, 13 Mar 2007 23:25:11 +0000 (23:25 +0000)]
Try schedule def + use closer whne Sethi-Ullman numbers are the same.
e.g.
t1 = op t2, c1
t3 = op t4, c2
and the following instructions are both ready.
t2 = op c3
t4 = op c4

Then schedule t2 = op first.
i.e.
t4 = op c4
t2 = op c3
t1 = op t2, c1
t3 = op t4, c2

This creates more short live intervals which work better with the register
allocator.

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

17 years agoAM2 can match 2^n +/- 1. e.g. ldr r3, [r2, r2, lsl #2]
Evan Cheng [Tue, 13 Mar 2007 21:05:54 +0000 (21:05 +0000)]
AM2 can match 2^n +/- 1. e.g.  ldr r3, [r2, r2, lsl #2]

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

17 years agoZero is always a legal AM immediate.
Evan Cheng [Tue, 13 Mar 2007 20:37:59 +0000 (20:37 +0000)]
Zero is always a legal AM immediate.

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

17 years agoCorrect type info for isLegalAddressImmediate() check.
Evan Cheng [Tue, 13 Mar 2007 20:34:37 +0000 (20:34 +0000)]
Correct type info for isLegalAddressImmediate() check.

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

17 years agoTest support for arrays with non-zero first index.
Duncan Sands [Tue, 13 Mar 2007 15:12:35 +0000 (15:12 +0000)]
Test support for arrays with non-zero first index.

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

17 years agoStack and register alignment of call arguments in the ELF ABI
Nicolas Geoffray [Tue, 13 Mar 2007 15:02:46 +0000 (15:02 +0000)]
Stack and register alignment of call arguments in the ELF ABI

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

17 years agoifdef out some dead code.
Chris Lattner [Tue, 13 Mar 2007 14:27:42 +0000 (14:27 +0000)]
ifdef out some dead code.

Fix PR1244 and Transforms/InstCombine/2007-03-13-CompareMerge.ll

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

17 years agotestcase for PR1244
Chris Lattner [Tue, 13 Mar 2007 14:25:35 +0000 (14:25 +0000)]
testcase for PR1244

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

17 years agoFor expression like
Zhou Sheng [Tue, 13 Mar 2007 06:40:59 +0000 (06:40 +0000)]
For expression like
"APInt::getAllOnesValue(ShiftAmt).zextOrCopy(BitWidth)",
to handle ShiftAmt == BitWidth situation, use zextOrCopy() instead of
zext().

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

17 years agoAdd zextOrCopy() into APInt for convenience.
Zhou Sheng [Tue, 13 Mar 2007 06:16:26 +0000 (06:16 +0000)]
Add zextOrCopy() into APInt for convenience.

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

17 years agoIn APInt version ComputeMaskedBits():
Zhou Sheng [Tue, 13 Mar 2007 02:23:10 +0000 (02:23 +0000)]
In APInt version ComputeMaskedBits():
  1. Ensure VTy, KnownOne and KnownZero have same bitwidth.
  2. Make code more efficient.

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

17 years agoImplement getTargetLowering() or else LSR won't be using ARM specific hooks.
Evan Cheng [Tue, 13 Mar 2007 01:20:42 +0000 (01:20 +0000)]
Implement getTargetLowering() or else LSR won't be using ARM specific hooks.

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

17 years agoMore flexible TargetLowering LSR hooks for testing whether an immediate is a legal...
Evan Cheng [Mon, 12 Mar 2007 23:37:10 +0000 (23:37 +0000)]
More flexible TargetLowering LSR hooks for testing whether an immediate is a legal target address immediate or scale.

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

17 years agoUpdated TargetLowering LSR addressing mode hooks for ARM and Thumb.
Evan Cheng [Mon, 12 Mar 2007 23:30:29 +0000 (23:30 +0000)]
Updated TargetLowering LSR addressing mode hooks for ARM and Thumb.

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

17 years agoMore flexible TargetLowering LSR hooks for testing whether an immediate is a legal...
Evan Cheng [Mon, 12 Mar 2007 23:29:01 +0000 (23:29 +0000)]
More flexible TargetLowering LSR hooks for testing whether an immediate is a legal target address immediate or scale.

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

17 years agoMore flexible TargetLowering LSR hooks for testing whether an immediate is
Evan Cheng [Mon, 12 Mar 2007 23:28:50 +0000 (23:28 +0000)]
More flexible TargetLowering LSR hooks for testing whether an immediate is
 a legal target address immediate or scale.

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

17 years agoUse new TargetLowering addressing modes hooks.
Evan Cheng [Mon, 12 Mar 2007 23:27:37 +0000 (23:27 +0000)]
Use new TargetLowering addressing modes hooks.

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

17 years agoMore flexible TargetLowering LSR hooks for testing whether an immediate is
Evan Cheng [Mon, 12 Mar 2007 23:26:27 +0000 (23:26 +0000)]
More flexible TargetLowering LSR hooks for testing whether an immediate is
a legal target address immediate or scale.

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

17 years agoStupid bug: SSE2 supports v2i64 add / sub.
Evan Cheng [Mon, 12 Mar 2007 22:58:52 +0000 (22:58 +0000)]
Stupid bug: SSE2 supports v2i64 add / sub.

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

17 years agoRevert the last patch as it violates the conditions of sext/zext.
Reid Spencer [Mon, 12 Mar 2007 18:37:25 +0000 (18:37 +0000)]
Revert the last patch as it violates the conditions of sext/zext.

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

17 years agoUnbreak C++ build.
Jeff Cohen [Mon, 12 Mar 2007 17:57:00 +0000 (17:57 +0000)]
Unbreak C++ build.

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

17 years agoUnbreak VC++ build. Do not use identifiers starting with _ as they are reserved and
Jeff Cohen [Mon, 12 Mar 2007 17:56:27 +0000 (17:56 +0000)]
Unbreak VC++ build.  Do not use identifiers starting with _ as they are reserved and
can collide with system defined names.  Windows defines _BB, for example.

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

17 years agoFor APInt::z/sext(width), if width == BitWidth, just return *this.
Zhou Sheng [Mon, 12 Mar 2007 17:47:45 +0000 (17:47 +0000)]
For APInt::z/sext(width), if width == BitWidth, just return *this.

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

17 years agoAdd an APInt version of SimplifyDemandedBits.
Reid Spencer [Mon, 12 Mar 2007 17:25:59 +0000 (17:25 +0000)]
Add an APInt version of SimplifyDemandedBits.

Patch by Zhou Sheng.

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

17 years agoAdd an APInt version of ShrinkDemandedConstant.
Reid Spencer [Mon, 12 Mar 2007 17:15:10 +0000 (17:15 +0000)]
Add an APInt version of ShrinkDemandedConstant.

Patch by Zhou Sheng.

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

17 years agoAvoid to assert on "(KnownZero & KnownOne) == 0".
Zhou Sheng [Mon, 12 Mar 2007 16:54:56 +0000 (16:54 +0000)]
Avoid to assert on "(KnownZero & KnownOne) == 0".

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

17 years agoIn function ComputeMaskedBits():
Zhou Sheng [Mon, 12 Mar 2007 05:44:52 +0000 (05:44 +0000)]
In function ComputeMaskedBits():
  1. Replace getSignedMinValue() with getSignBit() for better code readability.
  2. Replace APIntOps::shl() with operator<<= for convenience.
  3. Make APInt construction more effective.

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

17 years agoAdd getSignBit() and operator<<= into APInt for convenience.
Zhou Sheng [Sun, 11 Mar 2007 07:16:10 +0000 (07:16 +0000)]
Add getSignBit() and operator<<= into APInt for convenience.

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

17 years agoAdd value ranges. Currently inefficient in both execution time and
Nick Lewycky [Sat, 10 Mar 2007 18:12:48 +0000 (18:12 +0000)]
Add value ranges. Currently inefficient in both execution time and
optimization power.

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

17 years agoUse range tests in LowerSwitch, where possible
Anton Korobeynikov [Sat, 10 Mar 2007 16:46:28 +0000 (16:46 +0000)]
Use range tests in LowerSwitch, where possible

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

17 years agoAdd getter methods for the extremes of a ConstantRange.
Nick Lewycky [Sat, 10 Mar 2007 15:54:12 +0000 (15:54 +0000)]
Add getter methods for the extremes of a ConstantRange.

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

17 years agoAdding more arithmetic operators to MMX. This is an almost exact copy of
Bill Wendling [Sat, 10 Mar 2007 09:57:05 +0000 (09:57 +0000)]
Adding more arithmetic operators to MMX. This is an almost exact copy of
the addition. Please let me know if you have suggestions.

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

17 years agoRemove dead comments.
Devang Patel [Fri, 9 Mar 2007 23:41:03 +0000 (23:41 +0000)]
Remove dead comments.

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

17 years agoAvoid recursion. Use iterative algorithm for RenamePass().
Devang Patel [Fri, 9 Mar 2007 23:39:14 +0000 (23:39 +0000)]
Avoid recursion. Use iterative algorithm for RenamePass().

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

17 years agoIncrement iterator now because IVUseShouldUsePostIncValue may remove
Devang Patel [Fri, 9 Mar 2007 21:19:53 +0000 (21:19 +0000)]
Increment iterator now because IVUseShouldUsePostIncValue may remove
User from the list of I users.

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

17 years agoRegenerate.
Reid Spencer [Fri, 9 Mar 2007 21:19:09 +0000 (21:19 +0000)]
Regenerate.

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

17 years agoMinor stuff.
Evan Cheng [Fri, 9 Mar 2007 19:46:06 +0000 (19:46 +0000)]
Minor stuff.

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

17 years agoAdd comments about LSR / ARM.
Evan Cheng [Fri, 9 Mar 2007 19:35:33 +0000 (19:35 +0000)]
Add comments about LSR / ARM.

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

17 years agoUnfinished work and ideas related to register scavenger.
Evan Cheng [Fri, 9 Mar 2007 19:34:51 +0000 (19:34 +0000)]
Unfinished work and ideas related to register scavenger.

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

17 years agoFor PR1245:
Reid Spencer [Fri, 9 Mar 2007 19:26:52 +0000 (19:26 +0000)]
For PR1245:
Account for the sign bit when computing the number of bits required for
a negative integer literal constant.

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

17 years agoapply comments from review of last patch
Dale Johannesen [Fri, 9 Mar 2007 19:18:59 +0000 (19:18 +0000)]
apply comments from review of last patch

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

17 years agoAdd some observations from CoreGraphics benchmark. Remove register
Dale Johannesen [Fri, 9 Mar 2007 17:58:17 +0000 (17:58 +0000)]
Add some observations from CoreGraphics benchmark.  Remove register
scavenging todo item, since it is now implemented.

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

17 years agoUnbreak mingw32 build
Anton Korobeynikov [Fri, 9 Mar 2007 11:53:34 +0000 (11:53 +0000)]
Unbreak mingw32 build

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

17 years agoIf a virtual register is already marked alive in this block, that means it is
Evan Cheng [Fri, 9 Mar 2007 09:48:56 +0000 (09:48 +0000)]
If a virtual register is already marked alive in this block, that means it is
alive in one of the successor block. Do not add it to the kill list.

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

17 years agoPrint preds / succs BB numbers.
Evan Cheng [Fri, 9 Mar 2007 08:29:08 +0000 (08:29 +0000)]
Print preds / succs BB numbers.

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

17 years agoAvoid variable shadowing.
Evan Cheng [Fri, 9 Mar 2007 06:02:17 +0000 (06:02 +0000)]
Avoid variable shadowing.

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

17 years agoDon't use std::hex.
Bill Wendling [Thu, 8 Mar 2007 23:37:24 +0000 (23:37 +0000)]
Don't use std::hex.

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

17 years agoDon't use a cast. It causes an error on some platforms.
Bill Wendling [Thu, 8 Mar 2007 23:26:50 +0000 (23:26 +0000)]
Don't use a cast. It causes an error on some platforms.

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

17 years agoTest inline asm modifier 'c'.
Evan Cheng [Thu, 8 Mar 2007 22:45:31 +0000 (22:45 +0000)]
Test inline asm modifier 'c'.

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

17 years agoImplement inline asm modifier c.
Evan Cheng [Thu, 8 Mar 2007 22:42:46 +0000 (22:42 +0000)]
Implement inline asm modifier c.

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

17 years agoupgrade this testcase, add test for fp immediate to memory operand.
Chris Lattner [Thu, 8 Mar 2007 22:33:06 +0000 (22:33 +0000)]
upgrade this testcase, add test for fp immediate to memory operand.

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

17 years agoimplement support for floating point constants used as inline asm memory operands.
Chris Lattner [Thu, 8 Mar 2007 22:29:47 +0000 (22:29 +0000)]
implement support for floating point constants used as inline asm memory operands.

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

17 years agoAdd MMX arithmetic testcase.
Bill Wendling [Thu, 8 Mar 2007 22:14:51 +0000 (22:14 +0000)]
Add MMX arithmetic testcase.

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

17 years agoAdded "padd*" support for MMX. Added MMX move stuff to X86InstrInfo so that
Bill Wendling [Thu, 8 Mar 2007 22:09:11 +0000 (22:09 +0000)]
Added "padd*" support for MMX. Added MMX move stuff to X86InstrInfo so that
moves, loads, etc. are recognized.

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

17 years agoFix a typo.
Evan Cheng [Thu, 8 Mar 2007 21:59:30 +0000 (21:59 +0000)]
Fix a typo.

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

17 years agoFix test case.
Evan Cheng [Thu, 8 Mar 2007 19:27:32 +0000 (19:27 +0000)]
Fix test case.

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

17 years agoSpeed Up Pass Manager.
Devang Patel [Thu, 8 Mar 2007 19:05:01 +0000 (19:05 +0000)]
Speed Up Pass Manager.
- Check Immutableness before searching PreservedSet.
- Avoid unnecessary traversal while setting Last User.

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

17 years agoFix a bug in function ComputeMaskedBits().
Zhou Sheng [Thu, 8 Mar 2007 15:15:18 +0000 (15:15 +0000)]
Fix a bug in function ComputeMaskedBits().

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

17 years agoPutting more constants which do not contain relocations into .literal{4|8|16}
Evan Cheng [Thu, 8 Mar 2007 08:31:54 +0000 (08:31 +0000)]
Putting more constants which do not contain relocations into .literal{4|8|16}

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

17 years agomake this fail even in non-assert builds.
Chris Lattner [Thu, 8 Mar 2007 07:07:03 +0000 (07:07 +0000)]
make this fail even in non-assert builds.

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

17 years agoThis appears correct, enable it so we can see perf changes on testers
Chris Lattner [Thu, 8 Mar 2007 07:03:55 +0000 (07:03 +0000)]
This appears correct, enable it so we can see perf changes on testers

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

17 years agoSecond half of PR1226. This is currently still disabled, until I have a chance to
Chris Lattner [Thu, 8 Mar 2007 06:36:54 +0000 (06:36 +0000)]
Second half of PR1226.  This is currently still disabled, until I have a chance to
do the correctness/performance analysis testing.

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

17 years agoFix a bug in APIntified ComputeMaskedBits().
Zhou Sheng [Thu, 8 Mar 2007 05:42:00 +0000 (05:42 +0000)]
Fix a bug in APIntified ComputeMaskedBits().

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

17 years agoChange register allocation order to Dale's suggestion.
Evan Cheng [Thu, 8 Mar 2007 02:56:40 +0000 (02:56 +0000)]
Change register allocation order to Dale's suggestion.

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

17 years agoBug fix. Not advancing the register scavenger iterator correctly.
Evan Cheng [Thu, 8 Mar 2007 02:55:08 +0000 (02:55 +0000)]
Bug fix. Not advancing the register scavenger iterator correctly.

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

17 years agoFor PR1205:
Reid Spencer [Thu, 8 Mar 2007 01:52:58 +0000 (01:52 +0000)]
For PR1205:
Provide an APIntified version of MaskedValueIsZero. This will (temporarily)
cause a "defined but not used" message from the compiler. It will be used
in the next patch in this series.

Patch by Sheng Zhou.

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

17 years agoFor PR1205:
Reid Spencer [Thu, 8 Mar 2007 01:46:38 +0000 (01:46 +0000)]
For PR1205:
Add a new ComputeMaskedBits function that is APIntified. We'll slowly
convert things over to use this version. When its all done, we'll remove
the existing version.

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

17 years agoFor Darwin, put constant data into .const, .const_data, .literal{4|8|16}
Evan Cheng [Thu, 8 Mar 2007 01:25:25 +0000 (01:25 +0000)]
For Darwin, put constant data into .const, .const_data, .literal{4|8|16}
sections.

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

17 years agoPut constant data to .const, .const_data, .literal{4|8|16} sections.
Evan Cheng [Thu, 8 Mar 2007 01:07:07 +0000 (01:07 +0000)]
Put constant data to .const, .const_data, .literal{4|8|16} sections.

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

17 years agoAdd ReadOnlySection directive.
Evan Cheng [Thu, 8 Mar 2007 01:00:38 +0000 (01:00 +0000)]
Add ReadOnlySection directive.

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

17 years agoAdded ContainsRelocations() to check if a constant might only be resolvable at load...
Evan Cheng [Thu, 8 Mar 2007 00:59:12 +0000 (00:59 +0000)]
Added ContainsRelocations() to check if a constant might only be resolvable at load time.

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

17 years agoOnly safe to use a call-clobbered or spilled callee-saved register as scratch register.
Evan Cheng [Wed, 7 Mar 2007 20:30:36 +0000 (20:30 +0000)]
Only safe to use a call-clobbered or spilled callee-saved register as scratch register.

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

17 years agoRemove useless pattern fragments.
Bill Wendling [Wed, 7 Mar 2007 18:23:09 +0000 (18:23 +0000)]
Remove useless pattern fragments.

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

17 years agoRefactoring of formal parameter flags. Enable properly use of
Anton Korobeynikov [Wed, 7 Mar 2007 16:25:09 +0000 (16:25 +0000)]
Refactoring of formal parameter flags. Enable properly use of
zext/sext/aext stuff.

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