Evan Cheng [Fri, 16 Mar 2007 08:42:32 +0000 (08:42 +0000)]
Added isLegalAddressExpression hook to test if the given expression can be
folded into target addressing mode for the given type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35121
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Mar 2007 08:41:06 +0000 (08:41 +0000)]
These forward declarations are not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35120
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 16 Mar 2007 02:37:39 +0000 (02:37 +0000)]
Add more comments and update to new asm syntax.
Add new micro-optimizations.
Add icmp predicate snuggling. Given %x ULT 4, "icmp ugt %x, 2" becomes
"icmp eq %x, 3". This doesn't apply in any non-trivial cases yet due to missing
support for NE values in ValueRanges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35119
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 15 Mar 2007 21:24:36 +0000 (21:24 +0000)]
Multiplication support for MMX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35118
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 15 Mar 2007 21:19:28 +0000 (21:19 +0000)]
Debugging output stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35117
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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