[PATCH] D67510: [LV] Support gaps, overlaps, and inexact sizes in speculation logic
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 12 11:28:39 PDT 2019
reames created this revision.
reames added reviewers: Ayal, hsaito.
Herald added subscribers: rkruppe, javed.absar, bollu, mcrosier.
Herald added a project: LLVM.
Implement last set of TODOs from rL371452 <https://reviews.llvm.org/rL371452>. Three cases:
1. A loop which loads N out of every M bytes. (i.e. there are gaps)
2. A loop which loads N bytes every M bytes where N > M. (i.e. the loads overlap, and the alignment must be less than natural alignment)
3. An exact constant trip count is not known, but an upper bound is and the entire region is dereferenceable.
The SCEV change is needed for (3) above. I'm going to separate that into it's own review (with it's own tests) and then rebase once that's landed.
Repository:
rL LLVM
https://reviews.llvm.org/D67510
Files:
lib/Analysis/Loads.cpp
lib/Analysis/ScalarEvolution.cpp
test/Transforms/LoopVectorize/X86/load-deref-pred.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67510.219955.patch
Type: text/x-patch
Size: 65480 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190912/26dd2845/attachment.bin>
More information about the llvm-commits
mailing list