llvm-project/llvm/test/Transforms/Reassociate
David Majnemer 587336d2ad [Reassociate] Canonicalizing 'x [+-] (-Constant * y)' isn't always a win
Canonicalizing 'x [+-] (-Constant * y)' is not a win if we don't *know*
we will open up CSE opportunities.

If the multiply was 'nsw', then negating 'y' requires us to clear the
'nsw' flag.  If this is actually worth pursuing, it is probably more
appropriate to do so in GVN or EarlyCSE.

This fixes PR23675.

llvm-svn: 238397
2015-05-28 06:16:39 +00:00
..
2002-05-15-AgressiveSubMove.ll
2002-05-15-MissedTree.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
2002-05-15-SubReassociate.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
2002-07-09-DominanceProblem.ll
2003-08-12-InfiniteLoop.ll
2005-09-01-ArrayOutOfBounds.ll
2006-04-27-ReassociateVector.ll [Reassociate] Canonicalize constants to RHS operand. 2014-11-14 17:05:59 +00:00
2011-01-26-UseAfterFree.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2012-05-08-UndefLeak.ll
2012-06-08-InfiniteLoop.ll
absorption.ll
basictest.ll [Reassociate] Canonicalizing 'x [+-] (-Constant * y)' isn't always a win 2015-05-28 06:16:39 +00:00
canonicalize-neg-const.ll [Reassociate] Canonicalizing 'x [+-] (-Constant * y)' isn't always a win 2015-05-28 06:16:39 +00:00
commute.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
crash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
crash2.ll Fix Reassociate handling of constant in presence of undef float 2015-01-16 03:00:58 +00:00
fast-AgressiveSubMove.ll [Reassociate] Canonicalize constants to RHS operand. 2014-11-17 15:52:51 +00:00
fast-ArrayOutOfBounds.ll
fast-MissedTree.ll
fast-ReassociateVector.ll Reapply "[Reassociate] Add initial support for vector instructions." 2015-03-13 20:53:01 +00:00
fast-SubReassociate.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
fast-basictest.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
fast-fp-commute.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
fast-mightymul.ll
fast-multistep.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
fp-commute.ll
inverses.ll
looptest.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
mightymul.ll
min_int.ll Reassociate: cannot negate a INT_MIN value 2015-02-11 19:54:44 +00:00
mixed-fast-nonfast-fp.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
mulfactor.ll
multistep.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
negation.ll
negation1.ll Give the Reassociate pass a bit more flexibility and autonomy when optimizing expressions. 2014-10-05 23:41:26 +00:00
no-op.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
optional-flags.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
otherops.ll
pr12245.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
pr21205.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
repeats.ll
secondary.ll
shift-factor.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
shifttest.ll
subtest.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
wrap-flags.ll [Reassociate] Canonicalize negative constants out of expressions. 2014-11-11 22:58:35 +00:00
xor_reassoc.ll Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00