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
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
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
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
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
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
Anton Korobeynikov [Wed, 7 Mar 2007 08:25:02 +0000 (08:25 +0000)]
Cleanup: make SetCounter an instance variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35007
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Mar 2007 08:12:39 +0000 (08:12 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35006
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Mar 2007 08:07:03 +0000 (08:07 +0000)]
Avoid combining indexed load further.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35005
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 Mar 2007 08:04:41 +0000 (08:04 +0000)]
Add a utility function to test whether a load is unindexed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35004
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 7 Mar 2007 06:39:01 +0000 (06:39 +0000)]
Now IndVarSimplify is a LoopPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35003
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Mar 2007 05:43:18 +0000 (05:43 +0000)]
Properly support v8i8 and v4i16 types. It now converts them to v2i32 for
load and stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35002
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 7 Mar 2007 04:41:30 +0000 (04:41 +0000)]
Now LICM is a LoopPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35001
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Mar 2007 02:47:57 +0000 (02:47 +0000)]
Fix DWARF debugging information on x86/Linux and (hopefully)
Mingw32/Cygwin targets. This fixes PR978
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35000
91177308-0d34-0410-b5e6-
96231b3b80d8