[PATCH] D27008: [LoadStoreVectorizer] Enable vectorization of stores in the presence of an aliasing load

Alina Sbirlea via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 22 15:32:20 PST 2016


asbirlea created this revision.
asbirlea added reviewers: jlebar, arsenm, tstellarAMD.
asbirlea added subscribers: llvm-commits, volkan, anna.
Herald added subscribers: nhaehnle, wdng, mzolotukhin.

The "getVectorizablePrefix" method would give up if it found an aliasing load for a store chain.
In practice, the aliasing load can be treated as a memory barrier and all stores that precede it
are a valid vectorizable prefix.
Issue found by volkan in https://reviews.llvm.org/D26962. Testcase is a pruned version of the one in the original patch.


https://reviews.llvm.org/D27008

Files:
  lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
  test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
  test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27008.78967.patch
Type: text/x-patch
Size: 5622 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161122/825ce2cc/attachment.bin>


More information about the llvm-commits mailing list