[PATCH] D14185: Extend SLP Vectorizer to deal with aggregates
Arch D. Robison via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 4 14:30:37 PST 2015
ArchDRobison updated the summary for this revision.
ArchDRobison updated this revision to Diff 39255.
ArchDRobison added a comment.
This revision addresses Michael Zolotukhin's comments.
- "instcombine" portion split out to [[http://reviews.llvm.org/D14260][D14260]].
- Adds negative test for NOT vectorizing to <4 x i2> . To check that the i2 is the stopper, and not some other oversight, I also added a positive similar test for <4 x i4>.
- The test of whether an aggregate type can be mapped to a vector is changed to consider the min and max hardware vector sizes.
The last change required some restructuring to make `MaxVecRegSize` accessible where it was needed in `canMapToVector`. The restructuring is:
- Member `MaxVecRegSize` moved from class `SLPVectorizer` to `BoUpSLP`.
- `CanReuseExtract` and `canMapToVector`changed from global functions to members of `BoUpSLP`.
http://reviews.llvm.org/D14185
Files:
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/insertvalue.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14185.39255.patch
Type: text/x-patch
Size: 20184 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151104/92e39d78/attachment.bin>
More information about the llvm-commits
mailing list