[PATCH] D64142: [SLP] try to create vector loads from bitcasted scalar pointers

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 8 11:16:19 PDT 2019


spatel updated this revision to Diff 214195.
spatel marked 4 inline comments as done.
spatel added a comment.

Patch updated:

1. Added documentation comment for vectorizeLoads().
2. Use isSimple() to filter out 'volatile' and other loads that we don't want to alter.
3. Moved vectorization of loads to end of processing per block (not sure if that answers the request for "end of vectorization" though).
4. Removed check for load larger than vector register size (that was an attempt to not create something harmful, but now we are using the cost model).

It's not clear to me how to re-use the existing tree model/cost code, so I'm still looking into that. Suggestions appreciated.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64142/new/

https://reviews.llvm.org/D64142

Files:
  llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/X86/load-bitcast-vec.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64142.214195.patch
Type: text/x-patch
Size: 10776 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190808/455a3c77/attachment.bin>


More information about the llvm-commits mailing list