llvm-project/llvm/test/Transforms/LoopDeletion
Nikita Popov 65d59b4265 [LoopDeletion] Fix deletion with unusual predecessor terminator (PR56266)
LoopSimplify only requires that the loop predecessor has a single
successor and is safe to hoist into -- it doesn't necessarily have
to be an unconditional BranchInst.

Adjust LoopDeletion to assert conditions closer to what it actually
needs for correctness, namely a single successor and a
side-effect-free terminator (as the terminator is getting dropped).

Fixes https://github.com/llvm/llvm-project/issues/56266.
2022-07-01 16:13:35 +02:00
..
2007-07-23-InfiniteLoop.ll
2008-05-06-Phi.ll
2011-06-21-phioperands.ll
2017-07-11-incremental-dt.ll
D108848-regression.ll
assume.ll
basic-remark.ll
bbi-59728.ll
blockaddress.ll [test][LoopDeletion] Precommit test 2022-04-15 12:40:12 -07:00
crashbc.ll
dcetest.ll
diundef.ll
eval_first_iteration.ll [InstSimplify] Handle unknown function context in pointer icmp fold (PR54615) 2022-05-10 11:48:43 +02:00
invalidation.ll
irreducible-cfg.ll
loops-with-irreducible-subloops.ll
multiple-exit-conditions.ll
multiple-exits.ll
mustprogress.ll
no-exit-blocks.ll
noop-loops-with-subloops.ll
pr49967.ll
pr53969.ll [SCEV] Do not erase LoopUsers. PR53969 2022-02-22 17:24:39 +07:00
pr56266.ll [LoopDeletion] Fix deletion with unusual predecessor terminator (PR56266) 2022-07-01 16:13:35 +02:00
simplify-then-delete.ll
switch.ll
two-predecessors.ll
unreachable-loops.ll [NFC] Switch a few uses of undef to poison as placeholders for unreachble code 2022-06-30 21:47:31 +01:00
update-scev.ll [NFC] Switch a few uses of undef to poison as placeholders for unreachble code 2022-06-30 21:47:31 +01:00
use-in-unreachable.ll
zero-btc.ll