llvm-project/llvm/test/Analysis/LoopAccessAnalysis
Silviu Baranga ac920f7716 [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs
Summary:
LAA can only emit run-time alias checks for pointers with affine AddRec
SCEV expressions. However, non-AddRecExprs can be now be converted to
affine AddRecExprs using SCEV predicates.

This change tries to add the minimal set of SCEV predicates in order
to enable run-time alias checking.

Reviewers: anemet, mzolotukhin, mkuper, sanjoy, hfinkel

Reviewed By: hfinkel

Subscribers: mssimpso, Ayal, dorit, roman.shirokiy, mzolotukhin, llvm-commits

Differential Revision: https://reviews.llvm.org/D17080

llvm-svn: 313012
2017-09-12 07:48:22 +00:00
..
backward-dep-different-types.ll
forward-loop-carried.ll
forward-loop-independent.ll
independent-interleaved.ll
interleave-innermost.ll
memcheck-for-loop-invariant.ll
memcheck-off-by-one-error.ll [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
memcheck-wrapping-pointers.ll [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs 2017-09-12 07:48:22 +00:00
multiple-strides-rt-memory-checks.ll [LV/LoopAccess] Check statically if an unknown dependence distance can be 2017-02-12 09:32:53 +00:00
non-wrapping-pointer.ll
nullptr.ll
number-of-memchecks.ll [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
pointer-with-unknown-bounds.ll
pr31098.ll [LV/LoopAccess] Check statically if an unknown dependence distance can be 2017-02-12 09:32:53 +00:00
resort-to-memchecks-only.ll
reverse-memcheck-bounds.ll [Loop Vectorizer] Fixed memory confilict checks. 2016-08-28 08:53:53 +00:00
safe-no-checks.ll
safe-with-dep-distance.ll
store-to-invariant-check1.ll
store-to-invariant-check2.ll
store-to-invariant-check3.ll
stride-access-dependence.ll
underlying-objects-1.ll
underlying-objects-2.ll
unsafe-and-rt-checks.ll
wrapping-pointer-versioning.ll