[Mlir-commits] [mlir] [mlir][linalg] Remove `computeStaticLoopSizes` (PR #124778)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Feb 17 00:18:37 PST 2025
https://github.com/josel-amd updated https://github.com/llvm/llvm-project/pull/124778
>From ccac088cb667f0bf5ea1223c2dfd0b9eaabca7e8 Mon Sep 17 00:00:00 2001
From: Jose Lopes <jose.lopes at amd.com>
Date: Mon, 27 Jan 2025 10:25:48 +0000
Subject: [PATCH] Remove duplicated function
---
.../mlir/Dialect/Linalg/IR/LinalgInterfaces.td | 5 -----
mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp | 13 -------------
mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp | 2 +-
3 files changed, 1 insertion(+), 19 deletions(-)
diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td b/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
index 98a5fd278a997..dbc1ac60e0973 100644
--- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
+++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
@@ -863,11 +863,6 @@ def LinalgStructuredInterface
/// `createFlatListOfOperandDims`.
SmallVector<Range, 4> createLoopRanges(OpBuilder &b, Location loc);
- /// Compute the static loop sizes necessary to vectorize the computation.
- /// This is done by applying `getShapesToLoopsMap` to
- /// `createFlatListOfOperandStaticDims`.
- SmallVector<int64_t, 4> computeStaticLoopSizes();
-
/// Returns the value that expresses the shape of the output in terms of
/// shape of the input operands where possible
LogicalResult reifyResultShapes(OpBuilder &b,
diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
index 4185fcce393d5..466a9799295f9 100644
--- a/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
+++ b/mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
@@ -1094,19 +1094,6 @@ SmallVector<Range, 4> LinalgOp::createLoopRanges(OpBuilder &b, Location loc) {
return res;
}
-SmallVector<int64_t, 4> LinalgOp::computeStaticLoopSizes() {
- AffineMap map = getLoopsToShapesMap();
- unsigned numDims = map.getNumDims(), numRes = map.getNumResults();
- SmallVector<int64_t, 4> allShapeSizes = createFlatListOfOperandStaticDims();
- SmallVector<int64_t, 4> res(numDims, 0);
- for (unsigned idx = 0; idx < numRes; ++idx) {
- auto result = map.getResult(idx);
- if (auto d = dyn_cast<AffineDimExpr>(result))
- res[d.getPosition()] = allShapeSizes[idx];
- }
- return res;
-}
-
/// Visitor to check if any of the given set of positions from AffineDimExprs
/// are used within an AffineExpr.
struct HasAffineDimExprVisitor
diff --git a/mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp b/mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
index 2e6079e1402e1..b53180b5cf7c3 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
@@ -130,7 +130,7 @@ class FoldConstantBase : public OpInterfaceRewritePattern<LinalgOp> {
return failure();
}
- SmallVector<int64_t, 4> loopBounds = linalgOp.computeStaticLoopSizes();
+ SmallVector<int64_t, 4> loopBounds = linalgOp.getStaticLoopRanges();
int64_t numElements = outputType.getNumElements();
// Use APInt/APFloat instead of Attribute here for constructing the output.
More information about the Mlir-commits
mailing list