[llvm] 819bca9 - [SCEV] Use APIntOps::umin to select best max BC count (NFC).
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 12 04:20:19 PST 2021
Author: Florian Hahn
Date: 2021-11-12T12:20:01Z
New Revision: 819bca9b907242805f48355713549f58df51cc79
URL: https://github.com/llvm/llvm-project/commit/819bca9b907242805f48355713549f58df51cc79
DIFF: https://github.com/llvm/llvm-project/commit/819bca9b907242805f48355713549f58df51cc79.diff
LOG: [SCEV] Use APIntOps::umin to select best max BC count (NFC).
Suggested in D102267, but I missed this in the committed version.
Added:
Modified:
llvm/lib/Analysis/ScalarEvolution.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index 0baf5913623d..d29c35dc5fe1 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -9615,9 +9615,7 @@ ScalarEvolution::howFarToZero(const SCEV *V, const Loop *L, bool ControlsExit,
// N = Distance (as unsigned)
if (StepC->getValue()->isOne() || StepC->getValue()->isMinusOne()) {
APInt MaxBECount = getUnsignedRangeMax(applyLoopGuards(Distance, L));
- APInt MaxBECountBase = getUnsignedRangeMax(Distance);
- if (MaxBECountBase.ult(MaxBECount))
- MaxBECount = MaxBECountBase;
+ MaxBECount = APIntOps::umin(MaxBECount, getUnsignedRangeMax(Distance));
// When a loop like "for (int i = 0; i != n; ++i) { /* body */ }" is rotated,
// we end up with a loop whose backedge-taken count is n - 1. Detect this
@@ -9650,11 +9648,7 @@ ScalarEvolution::howFarToZero(const SCEV *V, const Loop *L, bool ControlsExit,
const SCEV *Max = getCouldNotCompute();
if (Exact != getCouldNotCompute()) {
APInt MaxInt = getUnsignedRangeMax(applyLoopGuards(Exact, L));
- APInt BaseMaxInt = getUnsignedRangeMax(Exact);
- if (BaseMaxInt.ult(MaxInt))
- Max = getConstant(BaseMaxInt);
- else
- Max = getConstant(MaxInt);
+ Max = getConstant(APIntOps::umin(MaxInt, getUnsignedRangeMax(Exact)));
}
return ExitLimit(Exact, Max, false, Predicates);
}
More information about the llvm-commits
mailing list