llvm-mirror/test/Transforms/SimplifyCFG
Davide Italiano f3c25b4ad7 [SimplifyCFG] Update debug location when folding branch to common destination
Sometimes a dead block gets folded and the debug information is still
retained. This manifests as jumpy stepping in lldb, see the bugzilla PR
for an end-to-end C testcase.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46008

Differential Revision:  https://reviews.llvm.org/D82062
2020-06-18 12:33:32 -07:00
..
AArch64
AMDGPU
ARM
Hexagon
Mips
PowerPC
RISCV
SPARC
X86
2002-05-21-PHIElimination.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-05-12-externweak.ll
2010-03-30-InvokeCrash.ll
2011-03-08-UnreachableUse.ll
2011-09-05-TrivialLPad.ll
assume.ll
attr-convergent.ll
attr-noduplicate.ll
basictest.ll [SimplifyCFG] Update debug location when folding branch to common destination 2020-06-18 12:33:32 -07:00
bbi-23595.ll
branch-cond-merge.ll
branch-cond-prop.ll
branch-fold-dbg.ll
branch-fold-test.ll
branch-fold-three.ll
branch-fold-threshold.ll
branch-fold.ll
branch-phi-thread.ll
BrUnwind.ll
bug-25299.ll
callbr-destinations.ll
clamp.ll
combine-parallel-mem-md.ll
common-dest-folding.ll
ConditionalTrappingConstantExpr.ll
CoveredLookupTable.ll
critedge-assume.ll
dbginfo.ll
dce-cond-after-folding-terminator.ll
DeadSetCC.ll
debug-info-thread-phi.ll
div-rem-pairs.ll
duplicate-landingpad.ll
duplicate-phis.ll
empty-catchpad.ll
empty-cleanuppad.ll
EmptyBlockMerge.ll
EqualPHIEdgeBlockMerge.ll
extract-cost.ll
fold-branch-debuginvariant.ll Correctly update Changed status for SimplifyCFG 2020-06-10 16:54:15 +02:00
fold-debug-info.ll
fold-debug-location.ll [SimplifyCFG] Update debug location when folding branch to common destination 2020-06-18 12:33:32 -07:00
ForwardSwitchConditionToPHI.ll
gepcost.ll
guards.ll
hoist-common-code.ll
hoist-dbgvalue-inlined.ll
hoist-dbgvalue.ll
hoist-with-range.ll
HoistCode.ll
implied-and-or.ll
implied-cond-matching-false-dest.ll
implied-cond-matching-imm.ll
implied-cond-matching.ll
implied-cond.ll
indirectbr.ll
InfLoop.ll
inline-asm-sink.ll
invalidate-dom.ll
invoke_unwind.ll [IR] Don't copy profile metadata in createCallMatchingInvoke() 2020-06-17 11:18:23 +02:00
invoke.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
iterative-simplify.ll
lifetime-landingpad.ll
lifetime.ll
MagicPointer.ll
merge-cleanuppads.ll
merge-cond-stores-2.ll
merge-cond-stores.ll [InstCombine] Sink pure instructions down to return and unreachable blocks 2020-05-22 14:33:42 +07:00
multiple-phis.ll
no_speculative_loads_with_asan.ll
no_speculative_loads_with_tsan.ll
no-md-sink.ll
nomerge.ll
noreturn-call.ll
opt-for-fuzzing.ll
phi-undef-loadstore.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
PhiBlockMerge2.ll
PhiBlockMerge.ll
PhiEliminate2.ll
PhiEliminate3.ll
PhiEliminate.ll
PHINode.ll
PhiNoEliminate.ll
pr33605.ll
pr34131.ll
pr35774.ll
pr39807.ll
PR9946.ll
PR16069.ll
PR17073.ll
PR25267.ll
PR27615-simplify-cond-br.ll
PR29163.ll
PR30210.ll
preserve-branchweights-partial.ll
preserve-branchweights-switch-create.ll
preserve-branchweights.ll
preserve-llvm-loop-metadata.ll
preserve-load-metadata-2.ll
preserve-load-metadata-3.ll
preserve-load-metadata.ll
preserve-make-implicit-on-switch-to-br.ll
preserve-store-alignment.ll
rangereduce.ll
remove-debug-2.ll
remove-debug.ll
return-merge.ll
safe-abs.ll
safe-low-bit-extract.ll
seh-nounwind.ll
select-gep.ll
signbit-like-value-extension.ll
sink-common-code.ll
speculate-call.ll
speculate-dbgvalue.ll
speculate-math.ll
speculate-store.ll
speculate-vector-ops.ll
speculate-with-offset.ll
SpeculativeExec.ll Make Value::getPointerAlignment() return an Align, not a MaybeAlign. 2020-05-20 16:37:20 -07:00
statepoint-invoke-unwind.ll
suppress-zero-branch-weights.ll
switch_create-custom-dl.ll
switch_create.ll
switch_msan.ll
switch_switch_fold.ll
switch_thread.ll
switch_undef.ll
switch-dead-default.ll
switch-masked-bits.ll
switch-on-const-select.ll
switch-profmd.ll
switch-range-to-icmp.ll
switch-simplify-crash.ll
switch-to-br.ll
switch-to-icmp.ll
switch-to-select-multiple-edge-per-block-phi.ll
switch-to-select-two-case.ll
trap-debugloc.ll
trap-no-null-opt-debugloc.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
trapping-load-unreachable.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
two-entry-phi-return.ll
UncondBranchToHeader.ll
UncondBranchToReturn.ll
unprofitable-pr.ll [Test] Add an example of unprofitable PR Phi insertion 2020-06-15 15:56:06 +07:00
unreachable_assume.ll
unreachable-blocks.ll
unreachable-cleanuppad.ll
UnreachableEliminate.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
unsigned-multiplication-will-overflow.ll
volatile-phioper.ll
wc-widen-block.ll
wineh-unreachable.ll