From 6d88f8ea58209053a7f183ddbfa590d3cb7f6c2f Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 30 Jun 2025 13:08:42 +0000 Subject: [PATCH] [mlir][SCF][NFC] Remove duplicate `getConstantTripCount` implementation --- mlir/lib/Dialect/SCF/Utils/Utils.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) 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 getConstantTripCount(scf::ForOp forOp) { - std::optional lbCstOp = getConstantIntValue(forOp.getLowerBound()); - std::optional ubCstOp = getConstantIntValue(forOp.getUpperBound()); - std::optional 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