[Mlir-commits] [mlir] 45a9a69 - [mlir] Fix crash in test type converter for 1->N result conversion (#201738)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Jun 5 00:26:37 PDT 2026


Author: lijinpei-amd
Date: 2026-06-05T15:26:32+08:00
New Revision: 45a9a697a6a31efae2f05a5f8db1028fc090b67f

URL: https://github.com/llvm/llvm-project/commit/45a9a697a6a31efae2f05a5f8db1028fc090b67f
DIFF: https://github.com/llvm/llvm-project/commit/45a9a697a6a31efae2f05a5f8db1028fc090b67f.diff

LOG: [mlir] Fix crash in test type converter for 1->N result conversion (#201738)

Use `results.append` instead of `results.assign`, preserving previous
results.

Fixes https://github.com/llvm/llvm-project/issues/201521

Added: 
    

Modified: 
    mlir/test/Transforms/test-legalizer.mlir
    mlir/test/lib/Dialect/Test/TestPatterns.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/test/Transforms/test-legalizer.mlir b/mlir/test/Transforms/test-legalizer.mlir
index c074d6b80484b..96aeccfb7c161 100644
--- a/mlir/test/Transforms/test-legalizer.mlir
+++ b/mlir/test/Transforms/test-legalizer.mlir
@@ -302,6 +302,12 @@ func.func @caller() {
 
 // -----
 
+// Regression test for https://github.com/llvm/llvm-project/issues/201521
+// CHECK-LABEL: func.func private @callee_multi_result(f64) -> (f64, i32, i32, f16, f16)
+func.func private @callee_multi_result(i64) -> (i64, i32, i32, f32)
+
+// -----
+
 //      CHECK: func.func @use_of_replaced_bbarg(
 // CHECK-SAME:     %[[arg0:.*]]: f64)
 //      CHECK:   "test.valid"(%[[arg0]])

diff  --git a/mlir/test/lib/Dialect/Test/TestPatterns.cpp b/mlir/test/lib/Dialect/Test/TestPatterns.cpp
index 55e72b57cfd1b..552a1a473c9fd 100644
--- a/mlir/test/lib/Dialect/Test/TestPatterns.cpp
+++ b/mlir/test/lib/Dialect/Test/TestPatterns.cpp
@@ -1531,7 +1531,7 @@ struct TestTypeConverter : public TypeConverter {
 
     // Split F32 into F16,F16.
     if (t.isF32()) {
-      results.assign(2, Float16Type::get(t.getContext()));
+      results.append(2, Float16Type::get(t.getContext()));
       return success();
     }
 


        


More information about the Mlir-commits mailing list