[PATCH] D19487: [LV] Reallow interleaved load groups with gaps
Matthew Simpson via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 25 10:27:24 PDT 2016
mssimpso created this revision.
mssimpso added reviewers: sbaranga, rengolin, hfinkel, HaoLiu, Ayal.
mssimpso added subscribers: llvm-commits, mcrosier.
Herald added a subscriber: mzolotukhin.
We previously disallowed interleaved load groups that may cause us to speculatively access memory out-of-bounds (D17332). We did this by ensuring each load group had an access corresponding to the first and last member. Instead of bailing out for these interleaved groups, this patch enables us to peel off the last vector iteration, ensuring that we execute at least one iteration of the scalar remainder loop. This solution was proposed in the review of the previous patch.
http://reviews.llvm.org/D19487
Files:
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/interleaved-accesses.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19487.54876.patch
Type: text/x-patch
Size: 6880 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160425/5d52bd46/attachment.bin>
More information about the llvm-commits
mailing list