diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2017-08-01 06:27:51 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2017-08-01 06:27:51 +0000 |
commit | 85da7543f9776a0eba58a2043f0b84d81c7a5ef8 (patch) | |
tree | cdea2785dd77de6a6ee1ee251a237cfa4d835b18 /llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp | |
parent | 35fdbd56b7765e2329ca1edfe48ded65029e53bf (diff) | |
download | bcm5719-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.cpp | 1 |
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; |