llvm-6502/test/Transforms/SimplifyCFG
Manman Ren 554da1a222 SimplifyCFG: sink common codes from IF, ELSE blocks down to END block.
We already have HoistThenElseCodeToIf, this patch implements
SinkThenElseCodeToEnd. When END block has only two predecessors and each
predecessor terminates with unconditional branches, we compare instructions in
IF and ELSE blocks backwards and check whether we can sink the common
instructions down.

rdar://12191395


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164325 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-20 22:37:36 +00:00
..
2002-05-05-EmptyBlockMerge.ll
2002-05-21-PHIElimination.ll
2002-06-24-PHINode.ll
2002-09-24-PHIAssertion.ll
2003-03-07-DominateProblem.ll
2003-08-05-InvokeCrash.ll
2003-08-17-BranchFold.ll
2003-08-17-BranchFoldOrdering.ll
2003-08-17-FoldSwitch-dbg.ll
2003-08-17-FoldSwitch.ll
2004-12-10-SimplifyCFGCrash.ll
2005-06-16-PHICrash.ll
2005-08-01-PHIUpdateFail.ll
2005-10-02-InvokeSimplify.ll
2005-12-03-IncorrectPHIFold.ll
2006-02-17-InfiniteUnroll.ll
2006-06-12-InfLoop.ll
2006-08-03-Crash.ll
2006-10-19-UncondDiv.ll
2006-12-08-Ptr-ICmp-Branch.ll
2007-11-22-InvokeNoUnwind.ll
2007-12-21-Crash.ll
2008-01-02-hoist-fp-add.ll
2008-05-16-PHIBlockMerge.ll
2008-07-13-InfLoopMiscompile.ll
2008-09-08-MultiplePred.ll
2008-09-17-SpeculativeHoist.ll
2008-10-03-SpeculativelyExecuteBeforePHI.ll
2008-12-06-SingleEntryPhi.ll
2008-12-16-DCECond.ll
2009-01-18-PHIPropCrash.ll
2009-01-19-UnconditionalTrappingConstantExpr.ll
2009-05-12-externweak.ll
2010-03-30-InvokeCrash.ll
2011-03-08-UnreachableUse.ll
2011-09-05-TrivialLPad.ll
basictest.ll
branch-cond-merge.ll
branch-cond-prop.ll
branch-fold-dbg.ll
branch-fold-test.ll
branch-fold.ll
branch-phi-thread.ll
BrUnwind.ll
dbginfo.ll
dce-cond-after-folding-terminator.ll
DeadSetCC.ll
duplicate-phis.ll
EqualPHIEdgeBlockMerge.ll
ForwardSwitchConditionToPHI.ll
hoist-common-code.ll
hoist-dbgvalue.ll
HoistCode.ll
indirectbr.ll
invoke_unwind.ll
invoke.ll
iterative-simplify.ll
lifetime.ll
lit.local.cfg
MagicPointer.ll
multiple-phis.ll
noreturn-call.ll
phi-undef-loadstore.ll
PhiBlockMerge2.ll
PhiBlockMerge.ll
PhiEliminate2.ll
PhiEliminate3.ll
PhiEliminate.ll
PhiNoEliminate.ll
PR9946.ll
preserve-branchweights-partial.ll
preserve-branchweights-switch-create.ll
preserve-branchweights.ll
return-merge.ll
select-gep.ll
sink-common-code.ll SimplifyCFG: sink common codes from IF, ELSE blocks down to END block. 2012-09-20 22:37:36 +00:00
speculate-with-offset.ll
SpeculativeExec.ll
switch_create.ll
switch_switch_fold.ll
switch_thread.ll
switch_to_lookup_table.ll
switch-masked-bits.ll
switch-on-const-select.ll
switch-simplify-crash.ll
switch-to-icmp.ll
trap-debugloc.ll
trapping-load-unreachable.ll
two-entry-phi-return.ll
UncondBranchToReturn.ll
unreachable-blocks.ll
UnreachableEliminate.ll