[PATCH] D43375: [SCEV] Prove predicates in loops via monotonicity

Max Kazantsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 16 02:01:16 PST 2018


mkazantsev created this revision.
mkazantsev added reviewers: sanjoy, apilipenko, anna, reames.
mkazantsev added a dependency: D43373: [SCEV][NFC] Factor out common logic into a separate method.

When we try to prove some predicate being true on every iteration of a loop,
sometimes we cannot prove that backedge is guarded by the condition we need.
But if the predicate is monotonic, it is enough to prove it on the first and last iteration
of the loop, and this will give us its proof on every loop's iteration.


https://reviews.llvm.org/D43375

Files:
  lib/Analysis/ScalarEvolution.cpp
  test/Transforms/IndVarSimplify/prove_via_monotonicity.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43375.134572.patch
Type: text/x-patch
Size: 3715 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180216/837bbd69/attachment.bin>


More information about the llvm-commits mailing list