[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