[PATCH] D50644: [WIP] [LAA] Allow runtime checks when strides different but address space does not wrap around

silviu.baranga@arm.com via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 24 00:39:44 PDT 2018


sbaranga added a comment.

For pointer-with-unknown-bounds.ll, I think the point was just checking that we don't vectorize in the case where the SCEV expressions for the pointers are not affine.

IIRC with ShouldRetryWithRuntimeCheck set the runtime checks will try to prove for two expressions A and B that the intervals [min(A), max(A)] and [min(B), max(B)] are disjoint. It's somewhat tricky to perform this check  with non-affine expressions.

In theory this should be fine as long as we can emit the correct run-time check.

I might be missing something, but in your example, if %tmp89 is loop-varying I'm not sure how we can emit the check at all since we don't have any strides available?


Repository:
  rL LLVM

https://reviews.llvm.org/D50644





More information about the llvm-commits mailing list