[PATCH] D20789: Consecutive memory access in Loop Vectorizer - fixed and simplified
silviu.baranga@arm.com via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 16 12:41:27 PDT 2016
sbaranga 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.
Yes, we do have instructions on ARM that can handle strides {2,3,4}. The fix should be changing the stride to something that would require a gather operation (let's say 5).
> When we run isConsecutivePtr(.., Assume=true), we receive the same result (0), but the no-wrap flag for this pointer is being changed.
Interesting, if Assume=true it should return 3? Do you why this is happening? Just from looking at the original code, is Assume=true it should return Stride not 0.
Repository:
rL LLVM
http://reviews.llvm.org/D20789
More information about the llvm-commits
mailing list