[all-commits] [llvm/llvm-project] c6ca26: [IndVars] Remove monotonic checks with unknown exi...
max-azul via All-commits
all-commits at lists.llvm.org
Mon Oct 26 21:36:53 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: c6ca26c0bfedb8f80d6f8cb9adde25b1d6aac1c5
https://github.com/llvm/llvm-project/commit/c6ca26c0bfedb8f80d6f8cb9adde25b1d6aac1c5
Author: Max Kazantsev <mkazantsev at azul.com>
Date: 2020-10-27 (Tue, 27 Oct 2020)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/test/Transforms/IndVarSimplify/monotonic_checks.ll
M llvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Log Message:
-----------
[IndVars] Remove monotonic checks with unknown exit count
Even if the exact exit count is unknown, we can still prove that this
exit will not be taken. If we can prove that the predicate is monotonic,
fulfilled on first & last iteration, and no overflow happened in between,
then the check can be removed.
Differential Revision: https://reviews.llvm.org/D87832
Reviewed By: apilipenko
More information about the All-commits
mailing list