aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineCombiner.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2018-02-15 07:09:00 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2018-02-15 07:09:00 +0000
commitc5941d12f430ecb0efa458b3f4acd674807241ad (patch)
tree70f1659f3804614f3c3c67785269132f0ef68bfe /llvm/lib/CodeGen/MachineCombiner.cpp
parent25f917341ee21d8605ddd5bb95755c49f7c4660a (diff)
downloadllvm-c5941d12f430ecb0efa458b3f4acd674807241ad.zip
llvm-c5941d12f430ecb0efa458b3f4acd674807241ad.tar.gz
llvm-c5941d12f430ecb0efa458b3f4acd674807241ad.tar.bz2
[SCEV] Favor isKnownViaSimpleReasoning over constant ranges check
There is a more powerful but still simple function `isKnownViaSimpleReasoning ` that does constant range check and few more additional checks. We use it some places (e.g. when proving implications) and in some other places we only check constant ranges. Currently, indvar simplifier fails to remove the check in following loop: int inc = ...; for (int i = inc, j = inc - 1; i < 200; ++i, ++j) if (i > j) { ... } This patch replaces all usages of `isKnownPredicateViaConstantRanges` with `isKnownViaSimpleReasoning` to have smarter proofs. In particular, it fixes the case above. Reviewed-By: sanjoy Differential Revision: https://reviews.llvm.org/D43175 llvm-svn: 325214
Diffstat (limited to 'llvm/lib/CodeGen/MachineCombiner.cpp')
0 files changed, 0 insertions, 0 deletions