llvm-project/llvm/test/Transforms/LoopSimplify
Dan Gohman c8ca49659a Teach LoopSimplify how to merge multiple loop exits into a single exit,
when one of them can be converted to a trivial icmp and conditional
branch.

This addresses what is essentially a phase ordering problem.
SimplifyCFG knows how to do this transformation, but it doesn't do so
if the primary block has any instructions in it other than an icmp and
a branch. In the given testcase, the block contains other instructions,
however they are loop-invariant and can be hoisted. SimplifyCFG doesn't
have LoopInfo though, so it can't hoist them. And, it's important that
the blocks be merged before LoopRotation, as it doesn't support
multiple-exit loops.

llvm-svn: 74396
2009-06-27 21:30:38 +00:00
..
2003-04-25-AssertFail.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2003-05-12-PreheaderExitOfChild.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2003-08-15-PreheadersFail.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2003-12-10-ExitBlocksProblem.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-02-05-DominatorInfoCorruption.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-03-15-IncorrectDomUpdate.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-04-01-IncorrectDomUpdate.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-04-12-LoopSimplify-SwitchBackedges.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-04-13-LoopSimplifyUpdateDomFrontier.ll Fix some incorrect logic in DominanceFrontier::splitBlock. Part of 2009-05-21 20:40:30 +00:00
2007-10-28-InvokeCrash.ll Fix PR1752 and LoopSimplify/2007-10-28-InvokeCrash.ll: terminators 2007-10-29 02:30:37 +00:00
basictest.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
hardertest.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
merge-exits.ll Teach LoopSimplify how to merge multiple loop exits into a single exit, 2009-06-27 21:30:38 +00:00
phi-node-simplify.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
single-backedge.ll As with r70333, give the primary induction variable a use so 2009-04-28 22:05:13 +00:00