[PATCH] D52656: [LV] Teach vectorizer about variant value store into uniform address

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 28 08:39:34 PDT 2018


anna created this revision.
anna added reviewers: Ayal, mkuper, anemet, hsaito.
Herald added a subscriber: rkruppe.

Teach vectorizer about vectorizing variant value stores to uniform
address. Similar to https://reviews.llvm.org/rL343028, we do not allow vectorization if we have
multiple stores to the same uniform address.

Cost model already has the change for considering the extract
instruction cost for a variant value store. See added test cases for how
vectorization is done.
The patch also contains changes to the ORE messages.


Repository:
  rL LLVM

https://reviews.llvm.org/D52656

Files:
  include/llvm/Analysis/LoopAccessAnalysis.h
  lib/Analysis/LoopAccessAnalysis.cpp
  lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
  test/Analysis/LoopAccessAnalysis/store-to-invariant-check1.ll
  test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll
  test/Analysis/LoopAccessAnalysis/store-to-invariant-check3.ll
  test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
  test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
  test/Transforms/LoopVectorize/invariant-store-vectorization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52656.167484.patch
Type: text/x-patch
Size: 34596 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180928/8636344a/attachment.bin>


More information about the llvm-commits mailing list