[Mlir-commits] [mlir] [mlir][tosa] Use `typeConverter->convertType<T>` (PR #150578)
Longsheng Mou
llvmlistbot at llvm.org
Mon Jul 28 02:29:34 PDT 2025
https://github.com/CoTinker updated https://github.com/llvm/llvm-project/pull/150578
>From 29dc3d028f5b60685c2f44d853667d551b96da71 Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Fri, 25 Jul 2025 14:47:02 +0800
Subject: [PATCH 1/3] [mlir][tosa][linalg] Use `typeConverter->convertType<T>`
(NFC)
Since `resultTy` might be nullptr, we should use `dyn_cast` instead of `cast`. Additionally, `typeConverter->convertType<T>` is more appropriate in this context.
---
mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp b/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
index 3a205246ddd9e..b7fb7a18c7714 100644
--- a/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
+++ b/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
@@ -742,7 +742,7 @@ class MaxPool2dConverter : public OpConversionPattern<tosa::MaxPool2dOp> {
bool isUnsigned = op.getType().getElementType().isUnsignedInteger();
ShapedType resultTy =
- cast<ShapedType>(getTypeConverter()->convertType(op.getType()));
+ getTypeConverter()->convertType<ShapedType>(op.getType());
if (!resultTy)
return rewriter.notifyMatchFailure(op, "failed to convert type");
Type resultETy = inputTy.getElementType();
>From 75dabd4590c88fa766b184b354d5fd9681370fb4 Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Mon, 28 Jul 2025 17:16:46 +0800
Subject: [PATCH 2/3] fix ReshapeConverter
---
mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp b/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
index 2945ae3b49f1f..0afb3f75408cf 100644
--- a/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
+++ b/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
@@ -229,8 +229,8 @@ class ReshapeConverter : public OpConversionPattern<tosa::ReshapeOp> {
matchAndRewrite(tosa::ReshapeOp reshape, OpAdaptor adaptor,
ConversionPatternRewriter &rewriter) const final {
auto loc = reshape.getLoc();
- auto resultType = cast_if_present<ShapedType>(
- getTypeConverter()->convertType(reshape.getType()));
+ auto resultType =
+ getTypeConverter()->convertType<ShapedType>(reshape.getType()));
if (!resultType) {
return rewriter.notifyMatchFailure(reshape.getLoc(),
"could not convert result type");
>From ba18a75ff665c799b8c2fa17ad0c84b8e53fe903 Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Mon, 28 Jul 2025 17:29:23 +0800
Subject: [PATCH 3/3] drop bracket
---
mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp b/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
index 0afb3f75408cf..802691c1f7d76 100644
--- a/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
+++ b/mlir/lib/Conversion/TosaToTensor/TosaToTensor.cpp
@@ -230,7 +230,7 @@ class ReshapeConverter : public OpConversionPattern<tosa::ReshapeOp> {
ConversionPatternRewriter &rewriter) const final {
auto loc = reshape.getLoc();
auto resultType =
- getTypeConverter()->convertType<ShapedType>(reshape.getType()));
+ getTypeConverter()->convertType<ShapedType>(reshape.getType());
if (!resultType) {
return rewriter.notifyMatchFailure(reshape.getLoc(),
"could not convert result type");
More information about the Mlir-commits
mailing list