llvm-mirror/test/Transforms/LoopInterchange
Florian Hahn e8f6a1389e [LoopInterchange] Move instructions from preheader to outer loop header.
Instructions defined in the original inner loop preheader may depend on
values defined in the outer loop header, but the inner loop header will
become the entry block in the loop nest. Move the instructions from the
preheader to the outer loop header, so we do not break dominance. We
also have to check for unsafe instructions in the preheader. If there
are no unsafe instructions, all instructions should be movable.

Currently we move all instructions except the terminator and rely on
LICM to hoist out invariant instructions later.

Fixes PR45743
2020-08-10 12:41:33 +01:00
..
call-instructions.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
currentLimitation.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
debuginfo.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
inner-only-reductions.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
interchange-flow-dep-outer.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
interchange-insts-between-indvar.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
interchange-no-deps.ll
interchangeable.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
lcssa-preheader.ll [LoopInterchange] Move instructions from preheader to outer loop header. 2020-08-10 12:41:33 +01:00
lcssa.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
loop-interchange-optimization-remarks.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
not-interchanged-dependencies-1.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
not-interchanged-loop-nest-3.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
not-interchanged-tightly-nested.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
outer-only-reductions.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
perserve-lcssa.ll [LoopInterchange] Properly move condition, induction increment and ops to latch. 2019-09-11 08:23:23 +00:00
phi-ordering.ll [LoopInterchange] Properly move condition, induction increment and ops to latch. 2019-09-11 08:23:23 +00:00
pr43176-move-to-new-latch.ll [LoopInterchange] Properly move condition, induction increment and ops to latch. 2019-09-11 08:23:23 +00:00
pr43473-invalid-lcssa-phis-in-inner-exit.ll [LoopInterchange] Improve inner exit loop safety checks. 2019-12-04 17:46:01 +00:00
pr43797-lcssa-for-multiple-outer-loop-blocks.ll [LoopInterchange] Only skip PHIs with incoming values from the inner loop. 2019-11-12 10:30:51 +00:00
pr45743-move-from-inner-preheader.ll [LoopInterchange] Move instructions from preheader to outer loop header. 2020-08-10 12:41:33 +01:00
profitability.ll [DA] Delinearization of fixed-size multi-dimensional arrays 2020-02-27 10:29:01 -05:00
reductions-across-inner-and-outer-loop.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
update-condbranch-duplicate-successors.ll [LoopInterchange] Adjust assertions when updating successors. 2019-11-24 19:37:16 +00:00