llvm-project/llvm/test/Transforms/LoopInterchange
Bardia Mahjour 1b811ff8a9 [DA] Delinearization of fixed-size multi-dimensional arrays
Summary:
Currently the dependence analysis in LLVM is unable to compute accurate
dependence vectors for multi-dimensional fixed size arrays.
This is mainly because the delinearization algorithm in scalar evolution
relies on parametric terms to be present in the access functions. In the
case of fixed size arrays such parametric terms are not present, but we
can use the indexes from GEP instructions to recover the subscripts for
each dimension of the arrays. This patch adds this ability under the
existing option `-da-disable-delinearization-checks`.

Authored By: bmahjour

Reviewer: Meinersbur, sebpop, fhahn, dmgreen, grosser, etiotto, bollu

Reviewed By: Meinersbur

Subscribers: hiraditya, arphaman, Whitney, ppc-slack, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72178
2020-02-27 10:29:01 -05:00
..
call-instructions.ll
currentLimitation.ll [DA] Delinearization of fixed-size multi-dimensional arrays 2020-02-27 10:29:01 -05:00
debuginfo.ll
inner-only-reductions.ll
interchange-flow-dep-outer.ll
interchange-insts-between-indvar.ll
interchange-no-deps.ll
interchangeable.ll [LoopInterchange] Properly move condition, induction increment and ops to latch. 2019-09-11 08:23:23 +00:00
lcssa.ll
loop-interchange-optimization-remarks.ll [DA] Delinearization of fixed-size multi-dimensional arrays 2020-02-27 10:29:01 -05:00
not-interchanged-dependencies-1.ll
not-interchanged-loop-nest-3.ll
not-interchanged-tightly-nested.ll
outer-only-reductions.ll
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
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 [LoopInterchange] Properly move condition, induction increment and ops to latch. 2019-09-11 08:23:23 +00:00
update-condbranch-duplicate-successors.ll [LoopInterchange] Adjust assertions when updating successors. 2019-11-24 19:37:16 +00:00