llvm-project/llvm/test/Transforms/SimpleLoopUnswitch
Florian Hahn f96aa493f0
[SimpleLoopUnswitch] Always skip trivial select and set condition.
When updating the branch instruction outside the loopduring non-trivial
 unswitching, always skip trivial selects and update the condition.

Otherwise we might create invalid IR, because the trivial select is
inside the loop, while the condition is outside the loop.

Fixes #55697.
2022-05-26 09:46:24 +01:00
..
ARM [SimpleLoopUnswitch] Enable freezing of conditions by default. 2022-04-25 14:26:41 +01: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 [SimpleLoopUnswitch] Freeze trivial conditions if needed. 2022-04-30 19:53:36 +01:00
basictest-profmd.ll
basictest.ll
catchswitch.ll
cleanuppad.ll
copy-metadata.ll
crash.ll
dead-blocks-uses-in-unreachablel-blocks.ll
delete-dead-blocks.ll
endless-unswitch.ll
exponential-behavior.ll
exponential-nontrivial-unswitch-nested.ll [SimpleLoopUnswitch] Run LICM for nested unswitching tests. 2022-04-25 12:49:08 +01:00
exponential-nontrivial-unswitch-nested2.ll [SimpleLoopUnswitch] Run LICM for nested unswitching tests. 2022-04-25 12:49:08 +01:00
exponential-nontrivial-unswitch.ll
exponential-nontrivial-unswitch2.ll
exponential-switch-unswitch.ll [SimpleLoopUnswitch] Run LICM for nested unswitching tests. 2022-04-25 12:49:08 +01:00
formDedicatedAfterTrivial1.ll
formDedicatedAfterTrivial2.ll
formDedicatedAfterTrivial3.ll
guards.ll [SimpleLoopUnswitch] Enable freezing of conditions by default. 2022-04-25 14:26:41 +01:00
implicit-null-checks.ll [SimpleLoopUnswitch] Enable freezing of conditions by default. 2022-04-25 14:26:41 +01:00
infinite-loop.ll
msan.ll
nontrivial-unswitch-cost.ll [SimpleLoopUnswitch] Enable freezing of conditions by default. 2022-04-25 14:26:41 +01:00
nontrivial-unswitch-freeze.ll Recommit "[SimpleLoopUnswitch] Collect either logical ANDs/ORs but not both." 2022-05-09 13:49:12 +01:00
nontrivial-unswitch-markloopasdeleted.ll
nontrivial-unswitch-redundant-switch.ll
nontrivial-unswitch-trivial-select.ll [SimpleLoopUnswitch] Always skip trivial select and set condition. 2022-05-26 09:46:24 +01:00
nontrivial-unswitch.ll Recommit "[SimpleLoopUnswitch] Collect either logical ANDs/ORs but not both." 2022-05-09 13:49:12 +01:00
not-safe-to-clone.ll
options.ll
partial-unswitch-mssa-threshold.ll [SimpleLoopUnswitch] Use SLU version of memoryssa-threshold option. 2022-04-23 14:03:32 +01:00
partial-unswitch-update-memoryssa.ll
partial-unswitch.ll
pipeline.ll
pr37888.ll
preserve-analyses.ll
preserve-scev-exiting-multiple-loops.ll
trivial-unswitch-freeze-individual-conditions.ll Recommit "[SimpleLoopUnswitch] Collect either logical ANDs/ORs but not both." 2022-05-09 13:49:12 +01:00
trivial-unswitch-iteration.ll
trivial-unswitch-logical-and-or.ll [SimpleLoopUnswitch] Skip trivial selects during trivial unswitching. 2022-05-19 17:01:13 +01:00
trivial-unswitch-profmd.ll
trivial-unswitch.ll [SimpleLoopUnswitch] Freeze individual OR/AND operands. 2022-05-01 20:11:05 +01:00
update-scev.ll