llvm-6502/test/Transforms/SimplifyCFG
Benjamin Kramer 1e21db6e83 SimplifyCFG: Enhance the "remove CFG edge that leads to null pointer dereference" optimization to also handle instructions with multiple uses.
We conservatively only check the first use to avoid walking long use chains.
This catches the common case of having both a load and a store to a pointer
supplied by a PHI node.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165232 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04 16:11:49 +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 SimplifyCFG: Enhance the "remove CFG edge that leads to null pointer dereference" optimization to also handle instructions with multiple uses. 2012-10-04 16:11:49 +00:00
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
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