[PATCH] D20789: Consecutive memory access in Loop Vectorizer - fixed and simplified

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 1 05:02:23 PDT 2016


sbaranga added a comment.

Hi Elena,

In https://reviews.llvm.org/D20789#501605, @delena wrote:

> I looked at MemoryDepChecker::areDepsSafe(). It checks pointers with same "Leader", like A[i] and A[i+2]. 
>  What function should check distance between A and B in order to say that A[i] = B[i] are safe for vectorization?
>  Thank you.


Is that function inlined? Otherwise, the two pointers have different underlying objects. For accesses with different underlying objects, we guarantee no dependence using either alias analysis or a runtime no alias check.

This is done in AccessAnalysis::canCheckPtrAtRT (and implicitly in AccessAnalysis::processMemAccesses).

-Silviu


Repository:
  rL LLVM

https://reviews.llvm.org/D20789





More information about the llvm-commits mailing list