diff options
author | Max Kazantsev <max.kazantsev@azul.com> | 2019-01-15 10:01:46 +0000 |
---|---|---|
committer | Max Kazantsev <max.kazantsev@azul.com> | 2019-01-15 10:01:46 +0000 |
commit | 259fb02d406a8cc2dc0a37842e69930d49b4d0d1 (patch) | |
tree | 3f716ce613e73af7ac700b6904975295722aebc6 /llvm | |
parent | 2bc72cd2d116a3842aa50095e81af2c7958abf7d (diff) |
[NFC] Decrease if nest
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp index 0e6dcfd4328..889d2ddbc74 100644 --- a/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp +++ b/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp @@ -1477,16 +1477,14 @@ bool LoopConstrainer::run() { if (Increasing) ExitPreLoopAtSCEV = *SR.LowLimit; + else if (cannotBeMinInLoop(*SR.HighLimit, &OriginalLoop, SE, + IsSignedPredicate)) + ExitPreLoopAtSCEV = SE.getAddExpr(*SR.HighLimit, MinusOneS); else { - if (cannotBeMinInLoop(*SR.HighLimit, &OriginalLoop, SE, - IsSignedPredicate)) - ExitPreLoopAtSCEV = SE.getAddExpr(*SR.HighLimit, MinusOneS); - else { - LLVM_DEBUG(dbgs() << "irce: could not prove no-overflow when computing " - << "preloop exit limit. HighLimit = " - << *(*SR.HighLimit) << "\n"); - return false; - } + LLVM_DEBUG(dbgs() << "irce: could not prove no-overflow when computing " + << "preloop exit limit. HighLimit = " + << *(*SR.HighLimit) << "\n"); + return false; } if (!isSafeToExpandAt(ExitPreLoopAtSCEV, InsertPt, SE)) { @@ -1506,16 +1504,14 @@ bool LoopConstrainer::run() { if (Increasing) ExitMainLoopAtSCEV = *SR.HighLimit; + else if (cannotBeMinInLoop(*SR.LowLimit, &OriginalLoop, SE, + IsSignedPredicate)) + ExitMainLoopAtSCEV = SE.getAddExpr(*SR.LowLimit, MinusOneS); else { - if (cannotBeMinInLoop(*SR.LowLimit, &OriginalLoop, SE, - IsSignedPredicate)) - ExitMainLoopAtSCEV = SE.getAddExpr(*SR.LowLimit, MinusOneS); - else { - LLVM_DEBUG(dbgs() << "irce: could not prove no-overflow when computing " - << "mainloop exit limit. LowLimit = " - << *(*SR.LowLimit) << "\n"); - return false; - } + LLVM_DEBUG(dbgs() << "irce: could not prove no-overflow when computing " + << "mainloop exit limit. LowLimit = " + << *(*SR.LowLimit) << "\n"); + return false; } if (!isSafeToExpandAt(ExitMainLoopAtSCEV, InsertPt, SE)) { |