[Mlir-commits] [mlir] [mlir][tosa] Create and use utility to print shapes (PR #191774)
Luke Hutton
llvmlistbot at llvm.org
Mon Apr 13 01:54:12 PDT 2026
https://github.com/lhutton1 created https://github.com/llvm/llvm-project/pull/191774
Follow up for #191300
>From 5b43b2ea5e063db040e675aabf22aef2ffad44ba Mon Sep 17 00:00:00 2001
From: Luke Hutton <luke.hutton at arm.com>
Date: Mon, 13 Apr 2026 08:49:29 +0000
Subject: [PATCH] [mlir][tosa] Create and use utility to print shapes
Follow up for #191300
Change-Id: I637fc021295a0d61f8c89b324165305059ed1341
---
mlir/lib/Dialect/Tosa/IR/TosaOps.cpp | 32 ++++++++++++++--------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/mlir/lib/Dialect/Tosa/IR/TosaOps.cpp b/mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
index 0834aa2123a9c..2754d3b21d4a6 100644
--- a/mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
+++ b/mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
@@ -650,6 +650,18 @@ LogicalResult tryUpdateDimOrFailure(Operation *op, int64_t &currDim,
return success();
}
+static void printShapeToDiagnostic(InFlightDiagnostic &diag,
+ ArrayRef<int64_t> shape) {
+ auto printDim = [&](int64_t dim) {
+ if (ShapedType::isDynamic(dim))
+ diag << "?";
+ else
+ diag << dim;
+ };
+
+ llvm::interleaveComma(shape, diag, printDim);
+}
+
LogicalResult verifyConvOutputSize(
Operation *op, const int64_t inputSize, const int64_t kernelSize,
const int64_t outputSize, const int64_t padBefore, const int64_t padAfter,
@@ -2073,15 +2085,9 @@ LogicalResult MatMulOp::verify() {
failed(
verifyCompatibleShape(outputType.getShape(), expectedOutputShape))) {
InFlightDiagnostic opError = emitOpError("expected output shape ");
- auto stringifyDim = [&](int64_t d) {
- if (ShapedType::isDynamic(d))
- opError << "?";
- else
- opError << d;
- };
- llvm::interleaveComma(outputType.getShape(), opError, stringifyDim);
+ printShapeToDiagnostic(opError, outputType.getShape());
opError << " to be compatible with expected output shape ";
- llvm::interleaveComma(expectedOutputShape, opError, stringifyDim);
+ printShapeToDiagnostic(opError, expectedOutputShape);
return opError;
}
@@ -2214,15 +2220,9 @@ LogicalResult MatmulTBlockScaledOp::verify() {
failed(
verifyCompatibleShape(outputType.getShape(), expectedOutputShape))) {
InFlightDiagnostic opError = emitOpError("expected output shape ");
- auto stringifyDim = [&](int64_t d) {
- if (ShapedType::isDynamic(d))
- opError << "?";
- else
- opError << d;
- };
- llvm::interleaveComma(outputType.getShape(), opError, stringifyDim);
+ printShapeToDiagnostic(opError, outputType.getShape());
opError << " to be compatible with expected output shape ";
- llvm::interleaveComma(expectedOutputShape, opError, stringifyDim);
+ printShapeToDiagnostic(opError, expectedOutputShape);
return opError;
}
More information about the Mlir-commits
mailing list