[Mlir-commits] [mlir] [MLIR][Transforms] Fix dialect conversion inverse mapping (PR #104648)
Billy Zhu
llvmlistbot at llvm.org
Mon Aug 19 13:08:05 PDT 2024
https://github.com/zyx-billy updated https://github.com/llvm/llvm-project/pull/104648
>From 76334c7a735276269f2539f2a8ee949edf380743 Mon Sep 17 00:00:00 2001
From: Billy Zhu <billyzhu at modular.com>
Date: Fri, 16 Aug 2024 16:09:50 -0700
Subject: [PATCH 1/3] update inverse mapping
---
mlir/lib/Transforms/Utils/DialectConversion.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp
index 8a4c7463a69a95..bf2990c257bad2 100644
--- a/mlir/lib/Transforms/Utils/DialectConversion.cpp
+++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp
@@ -2527,6 +2527,7 @@ LogicalResult OperationConverter::legalizeConvertedOpResultTypes(
opReplacement->getConverter());
rewriterImpl.mapping.map(result, castValue);
inverseMapping[castValue].push_back(result);
+ llvm::erase(inverseMapping[newValue], result);
}
}
>From 5763c6ab173e40d2e4b4b91138ac340bcfeef6f6 Mon Sep 17 00:00:00 2001
From: Billy Zhu <billyzhu at modular.com>
Date: Fri, 16 Aug 2024 17:04:08 -0700
Subject: [PATCH 2/3] add test case
---
.../test-legalize-target-materialization-no-uses.mlir | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir b/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
index 19dd2b2ee4b2f2..04db95ba7a9bac 100644
--- a/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
+++ b/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
@@ -25,3 +25,10 @@ func.func @foo() {
"test.type_consumer"(%2) : (i64) -> ()
return
}
+
+// CHECK-LABEL: @direct_forward
+func.func @direct_forward(%arg0 : i16) -> i16 {
+ // CHECK-NEXT: return
+ %0 = "test.type_changer"(%arg0) : (i16) -> i16
+ return %0 : i16
+}
>From 74ba45caec5cd069c8f96b812a0c6df05022ead2 Mon Sep 17 00:00:00 2001
From: Billy Zhu <billyzhu at modular.com>
Date: Mon, 19 Aug 2024 12:45:11 -0700
Subject: [PATCH 3/3] split test
---
.../test-legalize-target-materialization-no-uses.mlir | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir b/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
index 04db95ba7a9bac..5e694a04af49a8 100644
--- a/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
+++ b/mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir
@@ -1,4 +1,4 @@
-// RUN: mlir-opt -test-target-materialization-with-no-uses %s | FileCheck %s
+// RUN: mlir-opt -test-target-materialization-with-no-uses -split-input-file %s | FileCheck %s
// The conversion is set up as follows:
// - type_changer ops are illegal;
@@ -26,6 +26,8 @@ func.func @foo() {
return
}
+// -----
+
// CHECK-LABEL: @direct_forward
func.func @direct_forward(%arg0 : i16) -> i16 {
// CHECK-NEXT: return
More information about the Mlir-commits
mailing list