oota-llvm.git
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

17 years agoCleanup: make SetCounter an instance variable
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

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

17 years agoAvoid combining indexed load further.
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

17 years agoAdd a utility function to test whether a load is unindexed.
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

17 years agoNow IndVarSimplify is a LoopPass.
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

17 years agoProperly support v8i8 and v4i16 types. It now converts them to v2i32 for
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

17 years agoNow LICM is a LoopPass.
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

17 years agoFix DWARF debugging information on x86/Linux and (hopefully)
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

17 years agoARM always use register scavenger. No longer reserves R12.
Evan Cheng [Wed, 7 Mar 2007 02:46:23 +0000 (02:46 +0000)]
ARM always use register scavenger. No longer reserves R12.

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

17 years agoFix some brittle code. Watch out for cases where register scavenger is pointing to...
Evan Cheng [Wed, 7 Mar 2007 02:38:05 +0000 (02:38 +0000)]
Fix some brittle code. Watch out for cases where register scavenger is pointing to deleted instructions.

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

17 years agoAdd skipTo to set internal iterator. Useful when pointed to instruction is deleted.
Evan Cheng [Wed, 7 Mar 2007 02:36:16 +0000 (02:36 +0000)]
Add skipTo to set internal iterator. Useful when pointed to instruction is deleted.

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

17 years agoNow LoopUnroll is a LoopPass.
Devang Patel [Wed, 7 Mar 2007 01:38:05 +0000 (01:38 +0000)]
Now LoopUnroll is a LoopPass.

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

17 years agoFix the pattern.
Reid Spencer [Wed, 7 Mar 2007 00:39:11 +0000 (00:39 +0000)]
Fix the pattern.

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

17 years agoMake this test more reliable across platforms.
Reid Spencer [Wed, 7 Mar 2007 00:32:12 +0000 (00:32 +0000)]
Make this test more reliable across platforms.

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

17 years agoNow LoopUnswitch is a LoopPass.
Devang Patel [Wed, 7 Mar 2007 00:26:10 +0000 (00:26 +0000)]
Now LoopUnswitch is a LoopPass.

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

17 years agoNew test case.
Evan Cheng [Wed, 7 Mar 2007 00:13:48 +0000 (00:13 +0000)]
New test case.

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

17 years agoFix one more Thumb eliminateFrameIndex bug.
Evan Cheng [Wed, 7 Mar 2007 00:12:18 +0000 (00:12 +0000)]
Fix one more Thumb eliminateFrameIndex bug.

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

17 years agoFix all of last night's JIT failures in Prolangs-C++ by finishing the
Reid Spencer [Tue, 6 Mar 2007 22:23:15 +0000 (22:23 +0000)]
Fix all of last night's JIT failures in Prolangs-C++ by finishing the
implementation of getConstantValue().

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

17 years agoRegister scavenging is now on by default for ARM.
Evan Cheng [Tue, 6 Mar 2007 22:02:53 +0000 (22:02 +0000)]
Register scavenging is now on by default for ARM.

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

17 years agoMake load / store optimizer use register scavenger.
Evan Cheng [Tue, 6 Mar 2007 21:59:20 +0000 (21:59 +0000)]
Make load / store optimizer use register scavenger.

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

17 years agoMinor bug fix.
Evan Cheng [Tue, 6 Mar 2007 21:58:15 +0000 (21:58 +0000)]
Minor bug fix.

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

17 years agoNow LoopStrengthReduce is a LoopPass.
Devang Patel [Tue, 6 Mar 2007 21:14:09 +0000 (21:14 +0000)]
Now LoopStrengthReduce is a LoopPass.

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

17 years agobig endian 32-bit systems (e.g. ppc32) want to return the high reg first, not
Chris Lattner [Tue, 6 Mar 2007 20:01:06 +0000 (20:01 +0000)]
big endian 32-bit systems (e.g. ppc32) want to return the high reg first, not
the lo-reg first.  This is fallout from my ppc calling conv change yesterday,
it fixes test/ExecutionEngine/2003-05-06-LivenessClobber.llx

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

17 years agoInsert loop into LQ before visiting children.
Devang Patel [Tue, 6 Mar 2007 19:50:49 +0000 (19:50 +0000)]
Insert loop into LQ before visiting children.

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

17 years agoSmall eye-candy: use asciz directive everywhere, where possible.
Anton Korobeynikov [Tue, 6 Mar 2007 19:25:02 +0000 (19:25 +0000)]
Small eye-candy: use asciz directive everywhere, where possible.

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