llvm-6502/test/Transforms/IndVarSimplify
Dan Gohman bd59d7b603 Implement more aggressive folding of add operand lists when
they contain multiplications of constants with add operations.
This helps simplify several kinds of things; in particular it
helps simplify expressions like ((-1 * (%a + %b)) + %a) to %b,
as expressions like this often come up in loop trip count
computations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73361 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-14 22:58:51 +00:00
..
2002-09-09-PointerIndVar.ll
2003-04-16-ExprAnalysis.ll
2003-09-12-MultiplePred.ll
2003-09-23-NotAtTop.ll Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical 2009-06-13 16:25:49 +00:00
2003-12-10-IndVarDeadCode.ll
2003-12-10-RemoveInstrCrash.ll
2003-12-15-Crash.ll
2003-12-21-IndVarSize.ll
2004-03-10-PHIInsertionBug.ll
2004-04-05-InvokeCastCrash.ll
2004-04-07-ScalarEvolutionCrash.ll
2005-02-11-InvokeCrash.ll
2005-02-17-TruncateExprCrash.ll
2005-02-26-ExitValueCompute.ll
2005-06-15-InstMoveCrash.ll
2005-11-18-Crash.ll
2006-03-31-NegativeStride.ll
2006-06-16-Indvar-LCSSA-Crash.ll
2006-09-20-LFTR-Crash.ll
2006-12-10-BitCast.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2007-01-06-TripCount.ll
2007-01-08-X86-64-Pointer.ll Add nounwind to a few tests. 2009-05-18 15:16:49 +00:00
2007-06-06-DeleteDanglesPtr.ll
2007-11-23-BitcastCrash.ll
2008-06-15-SCEVExpanderBug.ll
2008-09-02-IVType.ll
2008-10-03-CouldNotCompute.ll
2008-11-03-Floating.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2008-11-17-Floating.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2008-11-25-APFloatAssert.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2009-04-14-shorten_iv_vars.ll Enhance induction variable code to remove the 2009-04-15 01:10:12 +00:00
2009-04-15-shorten-iv-vars-2.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
2009-04-22-IndvarCrash.ll Make sure both operands have binary instructions have the same type. 2009-04-22 23:39:28 +00:00
2009-04-27-Floating.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
2009-05-24-useafterfree.ll The rewriter may hold references to instructions that are deleted because they are trivially dead. 2009-05-24 14:23:16 +00:00
ada-loops.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
addrec-gep.ll Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid 2009-05-24 18:06:31 +00:00
avoid-i0.ll Handle ands with ~0 correctly too. This fixes PR4052. 2009-04-27 01:41:10 +00:00
casted-argument.ll Fix an error in this test. 2009-04-23 15:22:28 +00:00
complex-scev.ll
dg.exp
divide-pointer.ll In cases where a pointer value is an operand of a multiplication or 2009-05-26 17:41:16 +00:00
exit_value_tests.ll
gep-with-mul-base.ll Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid 2009-05-24 18:06:31 +00:00
interesting-invoke-use.ll Teach IndVarSimplify's FixUsesBeforeDefs to handle InvokeInsts by 2009-05-22 16:47:11 +00:00
iterationCount_zext_or_trunc.ll
iv-zext.ll Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
lftr_simple.ll
lftr-other-uses.ll When rewriting the loop exit test with the canonical induction variable, 2009-05-24 19:11:38 +00:00
loop_evaluate_1.ll
loop_evaluate_2.ll
loop_evaluate_3.ll
loop_evaluate_4.ll
loop_evaluate_5.ll When forgetting SCEVs for loop PHIs, don't forget SCEVUnknown values. 2009-05-12 01:27:58 +00:00
loop_evaluate_6.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
masked-iv.ll Teach SCEVExpander's visitAddRecExpr to reuse an existing canonical 2009-06-13 16:25:49 +00:00
pointer-indvars.ll
pointer.ll Implement more aggressive folding of add operand lists when 2009-06-14 22:58:51 +00:00
preserve-gep-remainder.ll Teach SCEVExpander to avoid creating over-indexed GEP indices when 2009-05-27 02:00:53 +00:00
preserve-gep.ll Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
preserve-signed-wrap.ll Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
promote-iv-to-eliminate-casts.ll Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
signed-trip-count.ll Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
subtract.ll
tripcount_compute.ll
tripcount_infinite.ll
variable-stride-ivs-0.ll Don't attempt to simplify an non-affine IV expression if it can't 2009-06-03 19:11:31 +00:00
variable-stride-ivs-1.ll Don't attempt to simplify an non-affine IV expression if it can't 2009-06-03 19:11:31 +00:00