[Mlir-commits] [mlir] [mlir][SCF][NFC] Remove duplicate `getConstantTripCount` implementation (PR #146347)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Jun 30 06:09:55 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-scf
Author: Matthias Springer (matthias-springer)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/146347.diff
1 Files Affected:
- (modified) mlir/lib/Dialect/SCF/Utils/Utils.cpp (+2-13)
``````````diff
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
``````````
</details>
https://github.com/llvm/llvm-project/pull/146347
More information about the Mlir-commits
mailing list