llvm-project/llvm/test/Transforms/LoopUnroll/ARM
Roman Lebedev 371fcb720e
[SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP
That transformation is lossy, as discussed in
https://github.com/llvm/llvm-project/issues/53853
and https://github.com/rust-lang/rust/issues/85133#issuecomment-904185574

This is an alternative to D119839,
which would add a limited IPSCCP into SimplifyCFG.

Unlike lowering switch to lookup, we still want this transformation
to happen relatively early, but after giving a chance for the things
like CVP to do their thing. It seems like deferring it just until
the IPSCCP is enough for the tests at hand, but perhaps we need to
be more aggressive and disable it until CVP.

Fixes https://github.com/llvm/llvm-project/issues/53853
Refs. https://github.com/rust-lang/rust/issues/85133

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D119854
2022-02-17 12:13:55 +03:00
..
dont-unroll-loopdec.ll
instr-size-costs.ll
lit.local.cfg
loop-unrolling.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
multi-blocks.ll [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
mve-nounroll.ll
unroll-optsize.ll
upperbound.ll [SimplifyCFG][PhaseOrdering] Defer lowering switch into an integer range comparison and branch until after at least the IPSCCP 2022-02-17 12:13:55 +03:00
v6munroll.ll [ARM] Limit v6m unrolling with multiple live outs 2021-06-23 16:36:37 +01:00