llvm-project/llvm/test/Transforms/LoopInterchange
Congzhe Cao a7b7d22d6e [LoopInterchange] Check lcssa phis in the inner latch in scenarios of multi-level nested loops
We already know that we need to check whether lcssa
phis are supported in inner loop exit block or in
outer loop exit block, and we have logic to check
them already. Presumably the inner loop latch does
not have lcssa phis and there is no code that deals
with lcssa phis in the inner loop latch. However,
that assumption is not true, when we have loops
with more than two-level nesting. This patch adds
checks for lcssa phis in the inner latch.

Reviewed By: Whitney

Differential Revision: https://reviews.llvm.org/D102300
2021-07-16 11:59:20 -04:00
..
call-instructions.ll
currentLimitation.ll
debuginfo.ll
inner-indvar-depend-on-outer-indvar.ll [LoopInterchange] Fix legality for triangular loops 2021-05-11 18:36:53 -04:00
inner-only-reductions.ll
innermost-latch-uses-values-in-middle-header.ll [LoopInterchange] Check lcssa phis in the inner latch in scenarios of multi-level nested loops 2021-07-16 11:59:20 -04:00
interchange-flow-dep-outer.ll [NFC][LoopInterchange] Explicitly pass both `InnerLoop` and `OuterLoop` to `processLoop` 2021-02-16 22:17:44 +08:00
interchange-insts-between-indvar.ll
interchange-no-deps.ll
interchangeable.ll
interchanged-loop-nest-3.ll [NFC] Refactor LoopInterchange into a loop-nest pass 2021-02-18 00:55:38 +08:00
lcssa-preheader.ll [LoopInterchange] Fix transformation bugs in loop interchange 2021-04-08 14:58:13 -04:00
lcssa.ll [LoopInterchange] Handle lcssa PHIs with multiple predecessors 2021-05-11 21:30:54 -04:00
loop-interchange-optimization-remarks.ll [Dependence Analysis] Enable delinearization of fixed sized arrays 2021-05-10 10:30:15 -07:00
not-interchanged-dependencies-1.ll
not-interchanged-loop-nest-3.ll [NFC][LoopInterchange] Explicitly pass both `InnerLoop` and `OuterLoop` to `processLoop` 2021-02-16 22:17:44 +08:00
not-interchanged-tightly-nested.ll [LoopInterchange] fix tightlyNested() in LoopInterchange legality 2021-03-24 15:49:25 -04:00
outer-header-jump-to-inner-latch.ll [LoopInterchange] Fix transformation bugs in loop interchange 2021-04-08 14:58:13 -04:00
outer-only-reductions.ll
perserve-lcssa.ll
phi-ordering.ll
pr43176-move-to-new-latch.ll
pr43326.ll [LoopInterhcange] Handle movement of reduction phis appropriately 2021-05-31 16:27:38 -04:00
pr43473-invalid-lcssa-phis-in-inner-exit.ll
pr43797-lcssa-for-multiple-outer-loop-blocks.ll
pr45743-move-from-inner-preheader.ll
pr48212.ll [LoopInterhcange] Handle movement of reduction phis appropriately 2021-05-31 16:27:38 -04:00
profitability.ll [Dependence Analysis] Enable delinearization of fixed sized arrays 2021-05-10 10:30:15 -07:00
reductions-across-inner-and-outer-loop.ll
update-condbranch-duplicate-successors.ll
vector-gep-operand.ll