[NFC][IRCE] Filter out empty ranges early

llvm-svn: 316146
This commit is contained in:
Max Kazantsev 2017-10-19 05:33:28 +00:00
parent a99ecf1bbb
commit 3612d4b4f9
1 changed files with 6 additions and 4 deletions

View File

@ -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.