[PATCH] D20789: Consecutive memory access in Loop Vectorizer - fixed and simplified
    Elena Demikhovsky via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon May 30 05:28:28 PDT 2016
    
    
  
delena created this revision.
delena added reviewers: hfinkel, anemet, mzolotukhin, Ayal.
delena added a subscriber: llvm-commits.
delena set the repository for this revision to rL LLVM.
Herald added a subscriber: mzolotukhin.
I fixed consecutive memory access detection in Loop Vectorizer.
It did not handle correctly cases without GEP. 
I started from this loop that wasn't vectorized.
for (int i=0; i<len; i++)
    *to++ = *from++;
Probably this loop should be resolved with memcpy, but it is another pass. Current loop vectorizer does not recognize consecutive memory access, because the generated code performs load/store without GEP. I use SCEV to detect consecutive access.
Repository:
  rL LLVM
http://reviews.llvm.org/D20789
Files:
  ../lib/Transforms/Vectorize/LoopVectorize.cpp
  ../test/Transforms/LoopVectorize/consec_no_gep.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20789.58947.patch
Type: text/x-patch
Size: 7231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160530/215c0178/attachment.bin>
    
    
More information about the llvm-commits
mailing list