[Mlir-commits] [mlir] 23216b4 - [mlir][SCF][NFC] Remove duplicate `getConstantTripCount` implementation (#146347)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Jul 3 06:37:01 PDT 2025
Author: Matthias Springer
Date: 2025-07-03T15:36:58+02:00
New Revision: 23216b4af5bac24cd715d32af3b1bec95e631983
URL: https://github.com/llvm/llvm-project/commit/23216b4af5bac24cd715d32af3b1bec95e631983
DIFF: https://github.com/llvm/llvm-project/commit/23216b4af5bac24cd715d32af3b1bec95e631983.diff
LOG: [mlir][SCF][NFC] Remove duplicate `getConstantTripCount` implementation (#146347)
Added:
Modified:
mlir/lib/Dialect/SCF/Utils/Utils.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/SCF/Utils/Utils.cpp b/mlir/lib/Dialect/SCF/Utils/Utils.cpp
index 8ab5bdc0c5dc5..f4047be68ccf2 100644
--- a/mlir/lib/Dialect/SCF/Utils/Utils.cpp
+++ b/mlir/lib/Dialect/SCF/Utils/Utils.cpp
@@ -301,19 +301,8 @@ static Value ceilDivPositive(OpBuilder &builder, Location loc, Value dividend,
/// constants, or optional otherwise. Trip count is computed as
/// ceilDiv(highBound - lowBound, step).
static std::optional<int64_t> getConstantTripCount(scf::ForOp forOp) {
- std::optional<int64_t> lbCstOp = getConstantIntValue(forOp.getLowerBound());
- std::optional<int64_t> ubCstOp = getConstantIntValue(forOp.getUpperBound());
- std::optional<int64_t> stepCstOp = getConstantIntValue(forOp.getStep());
- if (!lbCstOp.has_value() || !ubCstOp.has_value() || !stepCstOp.has_value())
- return {};
-
- // Constant loop bounds computation.
- int64_t lbCst = lbCstOp.value();
- int64_t ubCst = ubCstOp.value();
- int64_t stepCst = stepCstOp.value();
- assert(lbCst >= 0 && ubCst >= 0 && stepCst > 0 &&
- "expected positive loop bounds and step");
- return llvm::divideCeilSigned(ubCst - lbCst, stepCst);
+ return constantTripCount(forOp.getLowerBound(), forOp.getUpperBound(),
+ forOp.getStep());
}
/// Generates unrolled copies of scf::ForOp 'loopBodyBlock', with
More information about the Mlir-commits
mailing list