[PATCH] D26905: [SLP] Vectorize loads of consecutive memory accesses, accessed in non-consecutive (jumbled) way.
Shahid via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 21 01:27:37 PST 2016
ashahid created this revision.
ashahid added reviewers: mkuper, hfinkel, mssimpso.
ashahid added a subscriber: llvm-commits.
Herald added subscribers: mzolotukhin, sanjoy.
This patch improves the capability of SLPVectorizer pass to vectorize the loads of memory accesses in jumbled manner by using "load + shufflevector" IR instructions. The jumbled scalar loads will be sorted while building the tree and these accesses will be marked to generate "shufflevector" after the vectorized load with proper mask.
https://reviews.llvm.org/D26905
Files:
include/llvm/Analysis/LoopAccessAnalysis.h
lib/Analysis/LoopAccessAnalysis.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/jumbled-load.ll
test/Transforms/SLPVectorizer/X86/reduction_loads.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26905.78690.patch
Type: text/x-patch
Size: 21196 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161121/fad0c97b/attachment-0001.bin>
More information about the llvm-commits
mailing list