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

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Jun 4 20:02:32 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: lijinpei-amd

<details>
<summary>Changes</summary>

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

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

---
Full diff: https://github.com/llvm/llvm-project/pull/201738.diff


2 Files Affected:

- (modified) mlir/test/Transforms/test-legalizer.mlir (+6) 
- (modified) mlir/test/lib/Dialect/Test/TestPatterns.cpp (+1-1) 


``````````diff
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();
     }
 

``````````

</details>


https://github.com/llvm/llvm-project/pull/201738


More information about the Mlir-commits mailing list