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

Adam Nemet via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 20 02:19:39 PDT 2016


anemet added a comment.

In http://reviews.llvm.org/D20789#460069, @delena wrote:

> I ran ARM/gather-cost.ll with debugger. It receives stride 3 for one of the memory accesses. I assume (I don't know ARM arch), that vectorization is possible with stride=3 under no-wrap flag for GEP's AddRec. 
>  When we run isConsecutivePtr(.., Assume=true), we receive the same result (0), but the no-wrap flag for this pointer is being changed.
>  This no-wrap flag is checked later and the vectorization decision is different.


OK, thanks for the explanation but something is still not clear.  If the stride is 3 how does that convert into isConsecutivePtr to return true?  We are checking for Stride == 1 || Stride == -1 in the new version of isConsecutivePtr.


Repository:
  rL LLVM

http://reviews.llvm.org/D20789





More information about the llvm-commits mailing list