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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Devang Patel [Tue, 6 Mar 2007 19:11:25 +0000 (19:11 +0000)]
Use schedulePass() instead of assignPassManager() to add new LPPassManager.
This ensures that require analysis info is available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34980
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Mar 2007 19:00:02 +0000 (19:00 +0000)]
Add LPPassManager::insertLoop().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34979
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 Mar 2007 18:53:42 +0000 (18:53 +0000)]
Add LOAD/STORE support for MMX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34978
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Mar 2007 18:38:33 +0000 (18:38 +0000)]
LPPassManager::deleteLoopFromQueue() add meat. Cut-n-paste code from
LoopUnswitch pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34977
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 Mar 2007 18:02:41 +0000 (18:02 +0000)]
Code clean up. Prepare to use register scavenger.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34976
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Mar 2007 17:59:37 +0000 (17:59 +0000)]
LPPassManager. Implement preparePassManager() hook.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34975
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Mar 2007 17:52:53 +0000 (17:52 +0000)]
Keep track of higher level analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34974
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 6 Mar 2007 17:48:25 +0000 (17:48 +0000)]
Don't run lli in llvm-test. Instead just check that the datalayout string
is the right length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34973
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 6 Mar 2007 17:44:43 +0000 (17:44 +0000)]
Fix this to put its output in the output directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34971
91177308-0d34-0410-b5e6-
96231b3b80d8