[PATCH] D17268: [LAA] Function 'isStridedPtr' returns additional result “Loop *Lp” via function argument and add appropriate checks out of the 'isStridedPtr'.

Roman Shirokiy via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 15 06:08:17 PST 2016


roman.shirokiy created this revision.
roman.shirokiy added reviewers: hfinkel, Ayal, anemet.
roman.shirokiy added a subscriber: llvm-commits.
Herald added subscribers: mzolotukhin, sanjoy.

The patch fixes PR26314. Before r257134 there was in fact no restriction for pointer access function to be strided over innermost loop. This fix mostly keeps r257134 logic, but relaxes "stride-over-innermost loop" condition in "AccessAnalysis::canCheckPtrAtRT" function. It allows vectorization in the case described in PR26314.

http://reviews.llvm.org/D17268

Files:
  include/llvm/Analysis/LoopAccessAnalysis.h
  lib/Analysis/LoopAccessAnalysis.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Analysis/LoopAccessAnalysis/stride-vectorization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17268.47987.patch
Type: text/x-patch
Size: 6754 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160215/79709ae3/attachment-0001.bin>


More information about the llvm-commits mailing list