llvm-project/llvm/test/Transforms/LoopPredication
Anna Thomas 7b360434ff [Loop Predication] Teach LP about reverse loops
Summary:
Currently, we only support predication for forward loops with step
of 1.  This patch enables loop predication for reverse or
countdownLoops, which satisfy the following conditions:
   1. The step of the IV is -1.
   2. The loop has a singe latch as B(X) = X <pred>
latchLimit with pred as s> or u>
   3. The IV of the guard is the decrement
IV of the latch condition (Guard is: G(X) = X-1 u< guardLimit).

This patch was downstream for a while and is the last series of patches
that's from our LP implementation downstream.

Reviewers: apilipenko, mkazantsev, sanjoy

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D40353

llvm-svn: 319659
2017-12-04 15:11:48 +00:00
..
basic.ll [LoopPredication] Handle the case when the guard and the latch IV have different offsets 2017-10-27 14:46:17 +00:00
nested.ll [LoopPredication] Check whether the loop is already guarded by the first iteration check condition 2017-10-12 21:21:17 +00:00
reverse.ll [Loop Predication] Teach LP about reverse loops 2017-12-04 15:11:48 +00:00
visited.ll [LoopPredication] Check whether the loop is already guarded by the first iteration check condition 2017-10-12 21:21:17 +00:00
widened.ll [LoopPredication] Enable predication when latchCheckIV is wider than rangeCheck 2017-11-02 21:21:02 +00:00