llvm-6502/test/Transforms/Reassociate
Duncan Sands 7ecfcc1639 Fix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree,
the utility for extracting a chain of operations from the IR, thought that it
might as well combine any constants it came across (rather than just returning
them along with everything else).  On the other hand, the factorization code
would like to see the individual constants (this is quite reasonable: it is
much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6;
you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo
multiplications of constants as it may at first appear).  This patch therefore
makes LinearizeExprTree stupider: it now leaves optimizing to the optimization
part of reassociate, and sticks to just analysing the IR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168035 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-15 09:58:38 +00:00
..
2002-05-15-AgressiveSubMove.ll
2002-05-15-MissedTree.ll
2002-05-15-SubReassociate2.ll
2002-05-15-SubReassociate.ll
2002-07-09-DominanceProblem.ll
2003-08-12-InfiniteLoop.ll
2005-09-01-ArrayOutOfBounds.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2006-04-27-ReassociateVector.ll
2011-01-26-UseAfterFree.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
2012-05-08-UndefLeak.ll Stop reassociate from looking through expressions of arbitrary complexity. This 2012-07-26 09:26:40 +00:00
2012-06-08-InfiniteLoop.ll Revert commit 158073 while waiting for a fix. The issue is that reassociate 2012-06-08 13:37:30 +00:00
absorption.ll It is possible for several constants which aren't individually absorbing to 2012-06-13 12:15:56 +00:00
basictest.ll
crash.ll Fix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree, 2012-11-15 09:58:38 +00:00
fp-commute.ll Grab-bag of reassociate tweaks. Unify handling of dead instructions and 2012-06-06 14:53:10 +00:00
inverses.ll
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
looptest.ll
mightymul.ll Stop reassociate from looking through expressions of arbitrary complexity. This 2012-07-26 09:26:40 +00:00
mulfactor.ll Teach the reassociate pass to fold chains of multiplies with repeated 2012-04-26 05:30:30 +00:00
multistep.ll revert r167740 2012-11-13 00:08:49 +00:00
negation.ll
no-op.ll Since commit 157467, if reassociate isn't actually going to change an expression 2012-05-26 16:42:52 +00:00
optional-flags.ll fix PR9215, preventing -reassociate from clearing nsw/nuw when 2011-02-17 01:29:24 +00:00
otherops.ll
pr12245.ll The value held in the vector may be RAUW'ed by some of the canonicalization 2012-05-02 09:59:45 +00:00
repeats.ll Now that Reassociate's LinearizeExprTree can look through arbitrary expression 2012-06-12 14:33:56 +00:00
secondary.ll Fix reassociate to use a worklist instead of recursing when new 2011-04-12 00:11:56 +00:00
shift-factor.ll
shifttest.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
subtest2.ll
subtest.ll