oota-llvm.git
17 years agoRemove use of target::getName()
Chris Lattner [Sun, 3 Sep 2006 18:38:30 +0000 (18:38 +0000)]
Remove use of target::getName()

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

17 years agoeliminate use of TM.getName()
Chris Lattner [Sun, 3 Sep 2006 18:37:12 +0000 (18:37 +0000)]
eliminate use of TM.getName()

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

17 years agoadd the SETULT condition code
Rafael Espindola [Sun, 3 Sep 2006 13:19:16 +0000 (13:19 +0000)]
add the SETULT condition code

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

17 years agoAvoid beating on the mi2i map when we know the answer already.
Chris Lattner [Sun, 3 Sep 2006 08:07:11 +0000 (08:07 +0000)]
Avoid beating on the mi2i map when we know the answer already.

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

17 years agominor speedup
Chris Lattner [Sun, 3 Sep 2006 07:53:50 +0000 (07:53 +0000)]
minor speedup

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

17 years agoFix Regression/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll on X86.
Chris Lattner [Sun, 3 Sep 2006 07:15:37 +0000 (07:15 +0000)]
Fix Regression/CodeGen/Generic/2006-09-02-LocalAllocCrash.ll on X86.
Just because an alias of a register is available, it doesn't mean that we
can arbitrarily evict the register.

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

17 years agoTestcase (distilled from crafty) that crashed the local RA on X86.
Chris Lattner [Sun, 3 Sep 2006 07:14:47 +0000 (07:14 +0000)]
Testcase (distilled from crafty) that crashed the local RA on X86.

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

17 years agoWhen deleting a machine instruction, make sure to remove it from the
Chris Lattner [Sun, 3 Sep 2006 00:06:08 +0000 (00:06 +0000)]
When deleting a machine instruction, make sure to remove it from the
livevariables information.  This fixes several regalloc=local failures on x86

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

17 years agoMove two methods out of line, make them work when the record for a machine
Chris Lattner [Sun, 3 Sep 2006 00:05:09 +0000 (00:05 +0000)]
Move two methods out of line, make them work when the record for a machine
instruction includes physregs.

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

17 years agoCount the time for a pass to ReleaseMemory against that pass. Not doing this
Chris Lattner [Sat, 2 Sep 2006 23:09:24 +0000 (23:09 +0000)]
Count the time for a pass to ReleaseMemory against that pass.  Not doing this
was under accounting for the time that livevariables cost

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

17 years agoMake this testcase actually recursive. I accidentally committed the wrong copy last...
Owen Anderson [Sat, 2 Sep 2006 22:46:58 +0000 (22:46 +0000)]
Make this testcase actually recursive.  I accidentally committed the wrong copy last time.

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

17 years agoFix a typo pointed out by Gabor
Chris Lattner [Sat, 2 Sep 2006 22:27:29 +0000 (22:27 +0000)]
Fix a typo pointed out by Gabor

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

17 years agoMake ArgumentPromotion handle recursive functions that pass pointers in their recursi...
Owen Anderson [Sat, 2 Sep 2006 21:19:44 +0000 (21:19 +0000)]
Make ArgumentPromotion handle recursive functions that pass pointers in their recursive calls.

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

17 years agoadd more condition codes
Rafael Espindola [Sat, 2 Sep 2006 20:24:25 +0000 (20:24 +0000)]
add more condition codes

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

17 years agoImprove handling of SelectInst.
Nick Lewycky [Sat, 2 Sep 2006 19:40:38 +0000 (19:40 +0000)]
Improve handling of SelectInst.
Reorder operations to remove duplicated work.
Fix to leave floating-point types out of the optimization.
Add tests to predsimplify.ll for SwitchInst and SelectInst handling.

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

17 years agoimprove compat with certain versions of GCC (on cygwin?)
Chris Lattner [Sat, 2 Sep 2006 17:37:30 +0000 (17:37 +0000)]
improve compat with certain versions of GCC (on cygwin?)

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

17 years agoadd a prototype
Chris Lattner [Sat, 2 Sep 2006 05:37:53 +0000 (05:37 +0000)]
add a prototype

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

17 years agoIteration is required for some cases, even if they don't occur in crafty.
Chris Lattner [Sat, 2 Sep 2006 05:32:53 +0000 (05:32 +0000)]
Iteration is required for some cases, even if they don't occur in crafty.
Restore it, which re-fixes X86/2006-08-21-ExtraMovInst.ll

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

17 years agoWhen joining two intervals where the RHS is really simple, use a light-weight
Chris Lattner [Sat, 2 Sep 2006 05:26:59 +0000 (05:26 +0000)]
When joining two intervals where the RHS is really simple, use a light-weight
method for joining the live ranges instead of the fully-general one.

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

17 years agonew method
Chris Lattner [Sat, 2 Sep 2006 05:26:01 +0000 (05:26 +0000)]
new method

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

17 years agoAnother "cyclic DAG" test case.
Evan Cheng [Fri, 1 Sep 2006 23:50:17 +0000 (23:50 +0000)]
Another "cyclic DAG" test case.

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

17 years agoOops. Bad typo. Without the check of N1.hasOneUse() bad things can happen.
Evan Cheng [Fri, 1 Sep 2006 22:52:28 +0000 (22:52 +0000)]
Oops. Bad typo. Without the check of N1.hasOneUse() bad things can happen.
Suppose the TokenFactor can reach the Op:

       [Load chain]
           ^
           |
         [Load]
         ^    ^
         |    |
        /      \-
       /         |
      /          [Op]
     /          ^ ^
     |        ..  |
     |       /    |
   [TokenFactor]  |
       ^          |
       |          |
        \        /
         \      /
         [Store]

If we move the Load below the TokenFactor, we would have created a cycle in
the DAG.

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

17 years agoUse a couple of multiclass patterns to factor some integer ops.
Chris Lattner [Fri, 1 Sep 2006 22:28:02 +0000 (22:28 +0000)]
Use a couple of multiclass patterns to factor some integer ops.

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

17 years agoremove a bunch of comments
Chris Lattner [Fri, 1 Sep 2006 22:16:22 +0000 (22:16 +0000)]
remove a bunch of comments

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

17 years agoMake sure to clear CurDefmPrefix = 0, otherwise stuff after a defm won't
Chris Lattner [Fri, 1 Sep 2006 22:07:27 +0000 (22:07 +0000)]
Make sure to clear CurDefmPrefix = 0, otherwise stuff after a defm won't
parse right.  This fixes TableGen/MultiClass.td

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

17 years agoMake this harder
Chris Lattner [Fri, 1 Sep 2006 22:07:00 +0000 (22:07 +0000)]
Make this harder

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

17 years agoFix a typo Jim pointed out, thanks!
Chris Lattner [Fri, 1 Sep 2006 22:01:36 +0000 (22:01 +0000)]
Fix a typo Jim pointed out, thanks!

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

17 years agofix an assertion with multidefs. Def inside of multiclasses don't need to
Chris Lattner [Fri, 1 Sep 2006 21:59:03 +0000 (21:59 +0000)]
fix an assertion with multidefs.  Def inside of multiclasses don't need to
be complete.

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

17 years agoFixed formatting problem.
Bill Wendling [Fri, 1 Sep 2006 21:47:10 +0000 (21:47 +0000)]
Fixed formatting problem.

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

17 years agodocument !strconcat
Chris Lattner [Fri, 1 Sep 2006 21:46:01 +0000 (21:46 +0000)]
document !strconcat

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

17 years agoAdded documentation Fernando Magno Quintao Pereira wrote for the register
Bill Wendling [Fri, 1 Sep 2006 21:46:00 +0000 (21:46 +0000)]
Added documentation Fernando Magno Quintao Pereira wrote for the register
allocator. (First draft)

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

17 years agoDocument multiclasses and defm's
Chris Lattner [Fri, 1 Sep 2006 21:44:18 +0000 (21:44 +0000)]
Document multiclasses and defm's

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

17 years agoregenerate
Chris Lattner [Fri, 1 Sep 2006 21:14:42 +0000 (21:14 +0000)]
regenerate

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

17 years agosimple multiclass example
Chris Lattner [Fri, 1 Sep 2006 21:14:37 +0000 (21:14 +0000)]
simple multiclass example

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

17 years agoAdd often-requested support for defining "multiclasses" which can be instantiated.
Chris Lattner [Fri, 1 Sep 2006 21:13:49 +0000 (21:13 +0000)]
Add often-requested support for defining "multiclasses" which can be instantiated.

This allows you to define multiple definitions with one line, encouraging
more .td file factoring.

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

17 years ago- Fixed broken Win32 build
Anton Korobeynikov [Fri, 1 Sep 2006 20:35:17 +0000 (20:35 +0000)]
- Fixed broken Win32 build
- Removed warning about clobbered parameter in Bytecode/Reader

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

17 years agoRemove extra spaces.
Evan Cheng [Fri, 1 Sep 2006 18:45:22 +0000 (18:45 +0000)]
Remove extra spaces.

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

17 years agoLast check-in was a mistake...
Evan Cheng [Fri, 1 Sep 2006 18:42:59 +0000 (18:42 +0000)]
Last check-in was a mistake...

I've been told apple gcc version number is not guaranteed to increase
monotonically. Change the preprocess condition to make it less risky.

The configuration change is done during the middle 10.4 life cycle so we have
to check __APPLE_CC. For future OS X release, we should be able to assume
-fenable-cxa-atexit is the default.

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

17 years ago*** empty log message ***
Evan Cheng [Fri, 1 Sep 2006 18:40:46 +0000 (18:40 +0000)]
*** empty log message ***

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

17 years agoAllow legalizer to expand ISD::MUL using only MULHS in the rare case that is
Evan Cheng [Fri, 1 Sep 2006 18:17:58 +0000 (18:17 +0000)]
Allow legalizer to expand ISD::MUL using only MULHS in the rare case that is
possible and the target only supports MULHS.

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

17 years agoCorrections.
Jim Laskey [Fri, 1 Sep 2006 12:55:05 +0000 (12:55 +0000)]
Corrections.

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

17 years agoBetter comments.
Evan Cheng [Fri, 1 Sep 2006 07:09:56 +0000 (07:09 +0000)]
Better comments.

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

17 years agoYikes. This requires checking apple gcc version.
Evan Cheng [Fri, 1 Sep 2006 07:00:46 +0000 (07:00 +0000)]
Yikes. This requires checking apple gcc version.

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

17 years agoPull some code out of a hot recursive function because the common case doesn't
Chris Lattner [Fri, 1 Sep 2006 07:00:23 +0000 (07:00 +0000)]
Pull some code out of a hot recursive function because the common case doesn't
need recursion.

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

17 years agoremove some particularly expensive assertions
Chris Lattner [Fri, 1 Sep 2006 06:57:35 +0000 (06:57 +0000)]
remove some particularly expensive assertions

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

17 years agoReserve space in the ValueNumberInfo vector. This speeds up live interval
Chris Lattner [Fri, 1 Sep 2006 06:10:18 +0000 (06:10 +0000)]
Reserve space in the ValueNumberInfo vector.  This speeds up live interval
analysis 16% on crafty.

Wrap long lines.

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

17 years agoadd a simple reserve method.
Chris Lattner [Fri, 1 Sep 2006 06:08:16 +0000 (06:08 +0000)]
add a simple reserve method.

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

17 years agoIterative coallescing doesn't buy us anything (we get identical results on
Chris Lattner [Fri, 1 Sep 2006 04:02:42 +0000 (04:02 +0000)]
Iterative coallescing doesn't buy us anything (we get identical results on
crafty with and without it).  Removing it speeds up live intervals 6%.

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

17 years agoDon't confuse canonicalize and lookup. Fixes predsimplify.reg4.ll. Also
Nick Lewycky [Fri, 1 Sep 2006 03:26:35 +0000 (03:26 +0000)]
Don't confuse canonicalize and lookup. Fixes predsimplify.reg4.ll. Also
corrects missing optimization opportunity removing cases from a switch.

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

17 years agoDAG combiner fix for rotates. Previously the outer-most condition checks
Evan Cheng [Thu, 31 Aug 2006 07:41:12 +0000 (07:41 +0000)]
DAG combiner fix for rotates. Previously the outer-most condition checks
for ROTL availability. This prevents it from forming ROTR for targets that
has ROTR only.

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

17 years agoAdd a special case that speeds up coallescing a bit, but not enough.
Chris Lattner [Thu, 31 Aug 2006 06:48:26 +0000 (06:48 +0000)]
Add a special case that speeds up coallescing a bit, but not enough.

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

17 years agoDelete copies as they are coallesced instead of waiting until the end.
Chris Lattner [Thu, 31 Aug 2006 05:58:59 +0000 (05:58 +0000)]
Delete copies as they are coallesced instead of waiting until the end.

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

17 years agoavoid calling the virtual isMoveInstr method endlessly by caching its results.
Chris Lattner [Thu, 31 Aug 2006 05:54:43 +0000 (05:54 +0000)]
avoid calling the virtual isMoveInstr method endlessly by caching its results.

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

17 years agoAdd a note about C++ -> C with libstdc++
Chris Lattner [Thu, 31 Aug 2006 04:26:31 +0000 (04:26 +0000)]
Add a note about C++ -> C with libstdc++

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

17 years agoThis program crashes the PredicateSimplifier. Not marked XFAIL because
Nick Lewycky [Thu, 31 Aug 2006 03:13:05 +0000 (03:13 +0000)]
This program crashes the PredicateSimplifier. Not marked XFAIL because
the PredicateSimplifier is skipped in make check anyways.

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

17 years agoProperties where both Values weren't in the union (as being equal to
Nick Lewycky [Thu, 31 Aug 2006 00:39:16 +0000 (00:39 +0000)]
Properties where both Values weren't in the union (as being equal to
another Value) weren't being found by findProperties.

This fixes predsimplify.ll test6, a missed optimization opportunity.

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

17 years agoBugfix for recent coallescer crash
Chris Lattner [Wed, 30 Aug 2006 23:03:35 +0000 (23:03 +0000)]
Bugfix for recent coallescer crash

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

17 years agoFix a compiler crash bootstrapping llvm-gcc.
Chris Lattner [Wed, 30 Aug 2006 23:02:29 +0000 (23:02 +0000)]
Fix a compiler crash bootstrapping llvm-gcc.

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

17 years agoRestore source-level compatibility with clients of these functions.
Chris Lattner [Wed, 30 Aug 2006 20:47:48 +0000 (20:47 +0000)]
Restore source-level compatibility with clients of these functions.

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

17 years agoGuess what happens when asserts are disabled. :(
Chris Lattner [Wed, 30 Aug 2006 20:37:06 +0000 (20:37 +0000)]
Guess what happens when asserts are disabled.  :(

Also, the assert could never fire due to || instead of &&.

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

17 years agofix 80 column issue
Chris Lattner [Wed, 30 Aug 2006 05:56:52 +0000 (05:56 +0000)]
fix 80 column issue

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

17 years agoInstantiate Statistic<> in one place, not in every .o file that uses it.
Chris Lattner [Wed, 30 Aug 2006 04:17:00 +0000 (04:17 +0000)]
Instantiate Statistic<> in one place, not in every .o file that uses it.

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

17 years agoMove to using the EquivalenceClass ADT. Removes SynSets.
Nick Lewycky [Wed, 30 Aug 2006 02:46:48 +0000 (02:46 +0000)]
Move to using the EquivalenceClass ADT. Removes SynSets.
If a branch's condition has become a ConstantBool, simplify it immediately.
Removing the edge saves work and exposes up more optimization opportunities
in the pass.
Add support for SelectInst.

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

17 years agoCode cleanups, no functionality change.
Chris Lattner [Tue, 29 Aug 2006 23:38:20 +0000 (23:38 +0000)]
Code cleanups, no functionality change.

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

17 years agoTeach the coallescer to coallesce live intervals joined by an arbitrary
Chris Lattner [Tue, 29 Aug 2006 23:18:15 +0000 (23:18 +0000)]
Teach the coallescer to coallesce live intervals joined by an arbitrary
number of copies, potentially defining live ranges that appear to have
differing value numbers that become identical when coallsced.  Among other
things, this fixes CodeGen/X86/shift-coalesce.ll and PR687.

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

17 years agonew testcase for pr687
Chris Lattner [Tue, 29 Aug 2006 23:09:59 +0000 (23:09 +0000)]
new testcase for pr687

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

17 years agoDo not rely on std::sort and std::erase to get list of unique
Devang Patel [Tue, 29 Aug 2006 22:29:16 +0000 (22:29 +0000)]
Do not rely on std::sort and std::erase to get list of unique
exit blocks. The output is dependent on addresses of basic block.

Add and use Loop::getUniqueExitBlocks.

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

17 years agoMinor asm fix.
Evan Cheng [Tue, 29 Aug 2006 22:14:48 +0000 (22:14 +0000)]
Minor asm fix.

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

17 years agoThis is also a 32-bit only test. x86-64 would pass fp parameters through XMM registers.
Evan Cheng [Tue, 29 Aug 2006 22:01:39 +0000 (22:01 +0000)]
This is also a 32-bit only test. x86-64 would pass fp parameters through XMM registers.

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

17 years agoFix test case so it passes on x86-64.
Evan Cheng [Tue, 29 Aug 2006 21:49:58 +0000 (21:49 +0000)]
Fix test case so it passes on x86-64.

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

17 years agoRemove dead code.
Evan Cheng [Tue, 29 Aug 2006 21:42:58 +0000 (21:42 +0000)]
Remove dead code.

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

17 years agoDelete a no-longer-supported configuration item.
Reid Spencer [Tue, 29 Aug 2006 20:52:44 +0000 (20:52 +0000)]
Delete a no-longer-supported configuration item.

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

17 years agoUndo xfail.
Evan Cheng [Tue, 29 Aug 2006 18:49:41 +0000 (18:49 +0000)]
Undo xfail.

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

17 years agoDon't performance load/op/store transformation if op produces a floating point
Evan Cheng [Tue, 29 Aug 2006 18:37:37 +0000 (18:37 +0000)]
Don't performance load/op/store transformation if op produces a floating point
or vector result. X86 does not have load/mod/store variants of those
instructions.

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

17 years ago- Enable x86 isel preprocessing by default unless -fast is specified.
Evan Cheng [Tue, 29 Aug 2006 18:28:33 +0000 (18:28 +0000)]
- Enable x86 isel preprocessing by default unless -fast is specified.
- Also disable isel load folding if -fast.

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

17 years agoIssue cvs co with -P option to prune empty directories. Remove the unnecessary
Evan Cheng [Tue, 29 Aug 2006 18:01:18 +0000 (18:01 +0000)]
Issue cvs co with -P option to prune empty directories. Remove the unnecessary
update stage.

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

17 years agoHandle callee saved registers in dwarf frame info (lead up to exception
Jim Laskey [Tue, 29 Aug 2006 16:24:26 +0000 (16:24 +0000)]
Handle callee saved registers in dwarf frame info (lead up to exception
handling.)

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

17 years agoTidy up options.
Jim Laskey [Tue, 29 Aug 2006 15:13:10 +0000 (15:13 +0000)]
Tidy up options.

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

17 years agoAvoid making unneeded load/mod/store transformation which can hurt performance.
Evan Cheng [Tue, 29 Aug 2006 06:44:17 +0000 (06:44 +0000)]
Avoid making unneeded load/mod/store transformation which can hurt performance.

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

17 years agoMove isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a...
Evan Cheng [Tue, 29 Aug 2006 06:42:35 +0000 (06:42 +0000)]
Move isCommutativeBinOp from SelectionDAG.cpp and DAGCombiner.cpp out. Make it a static method of SelectionDAG.

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

17 years agoClean up a bit.
Owen Anderson [Tue, 29 Aug 2006 06:10:56 +0000 (06:10 +0000)]
Clean up a bit.

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

17 years agoMake ppc64 jit kinda work right. About 2/3 of Olden passes with this,
Nate Begeman [Tue, 29 Aug 2006 02:30:59 +0000 (02:30 +0000)]
Make ppc64 jit kinda work right.  About 2/3 of Olden passes with this,
there are clearly some encoding bugs lurking in there somewhere.

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

17 years agoThe list is sorted by name.
Nick Lewycky [Tue, 29 Aug 2006 01:42:47 +0000 (01:42 +0000)]
The list is sorted by name.

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

17 years agoAdd PredicateSimplifier pass. Collapses equal variables into one form
Nick Lewycky [Mon, 28 Aug 2006 22:44:55 +0000 (22:44 +0000)]
Add PredicateSimplifier pass. Collapses equal variables into one form
and simplifies expressions. This implements the optimization described
in PR807.

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

17 years agoOn Mac, print jump table entries after the function to work around a linker issue.
Evan Cheng [Mon, 28 Aug 2006 22:14:16 +0000 (22:14 +0000)]
On Mac, print jump table entries after the function to work around a linker issue.

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

17 years agoAdd 2nd form of resize
Chris Lattner [Mon, 28 Aug 2006 21:52:08 +0000 (21:52 +0000)]
Add 2nd form of resize

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

17 years agoAdd an optional pass to preprocess the DAG before x86 isel to allow selecting more...
Evan Cheng [Mon, 28 Aug 2006 20:10:17 +0000 (20:10 +0000)]
Add an optional pass to preprocess the DAG before x86 isel to allow selecting more load/mod/store instructions.

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

17 years agoAdd a --disable-compression option like llvm-link/llvm-as etc have
Chris Lattner [Mon, 28 Aug 2006 17:31:55 +0000 (17:31 +0000)]
Add a --disable-compression option like llvm-link/llvm-as etc have

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

17 years agoremove extraneous space
Chris Lattner [Mon, 28 Aug 2006 17:30:49 +0000 (17:30 +0000)]
remove extraneous space

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

17 years agoSpell naively with the i-Umlaut...
Bill Wendling [Mon, 28 Aug 2006 03:04:05 +0000 (03:04 +0000)]
Spell naively with the i-Umlaut...

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

17 years agoMessed up and put a "To be written" in a section that was written.
Bill Wendling [Mon, 28 Aug 2006 02:57:41 +0000 (02:57 +0000)]
Messed up and put a "To be written" in a section that was written.

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

17 years agoAdded some preliminary text to the TargetJITInfo class section.
Bill Wendling [Mon, 28 Aug 2006 02:26:32 +0000 (02:26 +0000)]
Added some preliminary text to the TargetJITInfo class section.
Fixed some inconsistencies with format. Corrected some of the text.
Put code inside of "code" div tags.

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

17 years agoMake LoopUnroll fold excessive BasicBlocks. This results in a significant speedup of
Owen Anderson [Mon, 28 Aug 2006 02:09:46 +0000 (02:09 +0000)]
Make LoopUnroll fold excessive BasicBlocks.  This results in a significant speedup of
gccas on 252.eon

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

17 years agoBack out last revision which should not have been committed (yet).
Reid Spencer [Mon, 28 Aug 2006 01:08:45 +0000 (01:08 +0000)]
Back out last revision which should not have been committed (yet).

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

17 years agoFor PR387:
Reid Spencer [Mon, 28 Aug 2006 01:02:49 +0000 (01:02 +0000)]
For PR387:
Close out this long standing bug by removing the remaining overloaded
virtual functions in LLVM. The -Woverloaded-virtual option is now turned on.

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

17 years agoUpdate to match changes in RegisterAnalysisGroup usage
Chris Lattner [Mon, 28 Aug 2006 00:45:38 +0000 (00:45 +0000)]
Update to match changes in RegisterAnalysisGroup usage

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

17 years agosimplify AnalysisGroup registration, eliminating one typeid call.
Chris Lattner [Mon, 28 Aug 2006 00:42:29 +0000 (00:42 +0000)]
simplify AnalysisGroup registration, eliminating one typeid call.

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

17 years agoExcise references to the now defunct "analyze" tool. Merge descriptions
Reid Spencer [Mon, 28 Aug 2006 00:34:19 +0000 (00:34 +0000)]
Excise references to the now defunct "analyze" tool. Merge descriptions
where appropriate.

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

17 years agoAdd virtual methods to all subclasses so they are not overloaded.
Reid Spencer [Mon, 28 Aug 2006 00:12:25 +0000 (00:12 +0000)]
Add virtual methods to all subclasses so they are not overloaded.

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

17 years agoSilence -Woverloaded-virtual warnings.
Chris Lattner [Mon, 28 Aug 2006 00:09:00 +0000 (00:09 +0000)]
Silence -Woverloaded-virtual warnings.

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