[Mlir-commits] [mlir] [mlir][linalg] Avoid asserts in IndexingMapOpInterface (PR #179072)
Samarth Narang
llvmlistbot at llvm.org
Sat Jan 31 14:18:14 PST 2026
https://github.com/snarang181 created https://github.com/llvm/llvm-project/pull/179072
None
>From 84eb812906871f074f4b859a12d2974ca4e68ea1 Mon Sep 17 00:00:00 2001
From: Samarth Narang <snarang at utexas.edu>
Date: Sat, 31 Jan 2026 17:17:28 -0500
Subject: [PATCH] [mlir][linalg] Avoid asserts in IndexingMapOpInterface
---
.../mlir/Dialect/Linalg/IR/LinalgInterfaces.td | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td b/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
index 9f1e88a040f5f..365d5344953b6 100644
--- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
+++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
@@ -385,9 +385,9 @@ def LinalgStructuredInterface
return 0;
// Tensor and Memref container types have a rank.
if (auto shapedType = ::llvm::dyn_cast<ShapedType>(t)) {
- // Failsafe.
- assert((isa<MemRefType>(t) || isa<RankedTensorType>(t)) &&
- "expected a ranked tensor or memref in LinalgInterface::getRank");
+ // Only ranked tensors and MemRefs have well defined ranks.
+ if (!(isa<MemRefType>(t) || isa<RankedTensorType>(t)))
+ return 0;
return shapedType.getRank();
}
return 0;
@@ -703,9 +703,9 @@ def LinalgStructuredInterface
if (isa<VectorType>(t))
return {};
if (auto shapedType = ::llvm::dyn_cast<ShapedType>(t)) {
- // Failsafe.
- assert((isa<MemRefType>(t) || isa<RankedTensorType>(t)) &&
- "expected a ranked tensor or memref in LinalgInterface::getRank");
+ // Only ranked tensors and MemRefs have well defined shapes.
+ if (!(isa<MemRefType>(t) || isa<RankedTensorType>(t)))
+ return {};
return shapedType.getShape();
}
return {};
More information about the Mlir-commits
mailing list