summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kazantsev <max.kazantsev@azul.com>2017-10-19 05:33:28 +0000
committerMax Kazantsev <max.kazantsev@azul.com>2017-10-19 05:33:28 +0000
commit8801482e48f5afd0a76d78ba0c6d518a355ed642 (patch)
treedeef073173a3d3f1db552cb39d76dbd7c7f1eb0a
parent1fd7e8c37af621d75b191deec9721b23ca36c9ea (diff)
[NFC][IRCE] Filter out empty ranges early
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316146 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp b/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
index 9cdc1d18963..111713b541c 100644
--- a/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
+++ b/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
@@ -1655,12 +1655,14 @@ static Optional<InductiveRangeCheck::Range>
IntersectRange(ScalarEvolution &SE,
const Optional<InductiveRangeCheck::Range> &R1,
const InductiveRangeCheck::Range &R2) {
- if (!R1.hasValue()) {
- if (!R2.isEmpty())
- return R2;
+ if (R2.isEmpty())
return None;
- }
+ if (!R1.hasValue())
+ return R2;
auto &R1Value = R1.getValue();
+ // We never return empty ranges from this function, and R1 is supposed to be
+ // a result of intersection. Thus, R1 is never empty.
+ assert(!R1Value.isEmpty() && "We should never have empty R1!");
// TODO: we could widen the smaller range and have this work; but for now we
// bail out to keep things simple.