llvm-project/llvm/test/Transforms/SimpleLoopUnswitch
Daniil Suchkov 706b22e3e4 [SimpleLoopUnswitch] Drop uses of instructions before block deletion
Currently if instructions defined in a block are used in unreachable
blocks and SimpleLoopUnswitch attempts deleting the block, it triggers
assertion "Uses remain when a value is destroyed!".
This patch fixes it by replacing all uses of instructions from BB with
undefs before BB deletion.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D80551
2020-05-27 18:25:18 +07:00
..
2006-06-13-SingleEntryPHI.ll
2006-06-27-DeadSwitchCase.ll
2007-05-09-Unreachable.ll
2007-05-09-tl.ll
2007-07-12-ExitDomInfo.ll
2007-07-13-DomInfo.ll
2007-07-18-DomInfo.ll
2007-08-01-Dom.ll
2007-08-01-LCSSA.ll
2007-10-04-DomFrontier.ll
2008-06-02-DomInfo.ll
2008-06-17-DomFrontier.ll
2010-11-18-LCSSA.ll
2011-06-02-CritSwitch.ll
2011-09-26-EHCrash.ll
2012-04-02-IndirectBr.ll
2012-04-30-LoopUnswitch-LPad-Crash.ll
2012-05-20-Phi.ll
2015-09-18-Addrspace.ll
LIV-loop-condtion.ll
basictest-profmd.ll
basictest.ll
cleanuppad.ll
copy-metadata.ll
crash.ll
dead-blocks-uses-in-unreachablel-blocks.ll [SimpleLoopUnswitch] Drop uses of instructions before block deletion 2020-05-27 18:25:18 +07:00
delete-dead-blocks.ll
exponential-behavior.ll
exponential-nontrivial-unswitch-nested.ll Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
exponential-nontrivial-unswitch-nested2.ll Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
exponential-nontrivial-unswitch.ll
exponential-nontrivial-unswitch2.ll
exponential-switch-unswitch.ll Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
formDedicatedAfterTrivial1.ll
formDedicatedAfterTrivial2.ll
formDedicatedAfterTrivial3.ll
guards.ll Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
infinite-loop.ll
msan.ll
nontrivial-unswitch-cost.ll Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
nontrivial-unswitch-redundant-switch.ll
nontrivial-unswitch.ll Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
pr37888.ll
preserve-analyses.ll
preserve-scev-exiting-multiple-loops.ll
trivial-unswitch-iteration.ll
trivial-unswitch-profmd.ll
trivial-unswitch.ll [SimpleLoopUnswitch] Add non-empty unreachable block check to exit cases removed. 2020-05-13 12:38:37 -07:00
update-scev.ll