[PATCH] D39097: [LoopPredication] Handle the case when the guard and the latch IV have different offsets
Artur Pilipenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 19 09:29:59 PDT 2017
apilipenko created this revision.
This is a follow up change for https://reviews.llvm.org/D37569.
Currently the transformation is limited to the case when:
- The loop has a single latch with the condition of the form: ++i <pred> latchLimit, where <pred> is u<, u<=, s<, or s<=.
- The step of the IV used in the latch condition is 1.
- The IV of the latch condition is the same as the post increment IV of the guard condition.
- The guard condition is of the form i u< guardLimit.
This patch enables the transform in the case when the latch is
latchStart + i <pred> latchLimit, where <pred> is u<, u<=, s<, or s<=.
And the guard is
guardStart + i u< guardLimit
This is the last change in this chain.
Repository:
rL LLVM
https://reviews.llvm.org/D39097
Files:
lib/Transforms/Scalar/LoopPredication.cpp
test/Transforms/LoopPredication/basic.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39097.119592.patch
Type: text/x-patch
Size: 16658 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171019/8c2c2a8a/attachment.bin>
More information about the llvm-commits
mailing list