summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2017-08-01 06:27:51 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2017-08-01 06:27:51 +0000
commit85da7543f9776a0eba58a2043f0b84d81c7a5ef8 (patch)
treecdea2785dd77de6a6ee1ee251a237cfa4d835b18 /llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
parent35fdbd56b7765e2329ca1edfe48ded65029e53bf (diff)
downloadbcm5719-llvm-85da7543f9776a0eba58a2043f0b84d81c7a5ef8.tar.gz
bcm5719-llvm-85da7543f9776a0eba58a2043f0b84d81c7a5ef8.zip
[IRCE][NFC] Add assert that AddRecExpr's step is not zero
We should never return zero steps, ensure this fact by adding a sanity check when we are analyzing the induction variable. llvm-svn: 309661
Diffstat (limited to 'llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
index 99b4458ea0f..0c6a9f20fdd 100644
--- a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
@@ -779,6 +779,7 @@ LoopStructure::parseLoopStructure(ScalarEvolution &SE, BranchProbabilityInfo &BP
if (const SCEVConstant *StepExpr =
dyn_cast<SCEVConstant>(AR->getStepRecurrence(SE))) {
ConstantInt *StepCI = StepExpr->getValue();
+ assert(!StepCI->isZero() && "Zero step?");
if (StepCI->isOne() || StepCI->isMinusOne()) {
IsIncreasing = StepCI->isOne();
return true;
OpenPOWER on IntegriCloud