[Mlir-commits] [mlir] [mlir][emitc]: use converted result types when func.call has one result (PR #205191)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Jun 22 13:51:02 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-emitc
Author: Jeremy Kun (j2kun)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/205191.diff
2 Files Affected:
- (modified) mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp (+1-1)
- (modified) mlir/test/Conversion/ConvertToEmitC/func.mlir (+9)
``````````diff
diff --git a/mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp b/mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
index a2279242fb86b..0ee1e76e2469f 100644
--- a/mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
+++ b/mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
@@ -189,7 +189,7 @@ class CallOpConversion final : public OpConversionPattern<func::CallOp> {
if (callOp.getNumResults() <= 1) {
rewriter.replaceOpWithNewOp<emitc::CallOp>(
- callOp, callOp.getResultTypes(), adaptor.getOperands(),
+ callOp, convertedResultTypes, adaptor.getOperands(),
callOp->getAttrs());
return success();
}
diff --git a/mlir/test/Conversion/ConvertToEmitC/func.mlir b/mlir/test/Conversion/ConvertToEmitC/func.mlir
index 4f2518401581f..3f340736ee12c 100644
--- a/mlir/test/Conversion/ConvertToEmitC/func.mlir
+++ b/mlir/test/Conversion/ConvertToEmitC/func.mlir
@@ -11,3 +11,12 @@ func.func @index(%arg0: index) -> index {
// CHECK: return
return %arg0 : index
}
+
+// CHECK-LABEL: emitc.func @call_index
+// CHECK-SAME: (%[[ARG:.*]]: !emitc.size_t) -> !emitc.size_t
+func.func @call_index(%arg0: index) -> index {
+ // CHECK: %[[RES:.*]] = call @index(%[[ARG]]) : (!emitc.size_t) -> !emitc.size_t
+ // CHECK: return %[[RES]] : !emitc.size_t
+ %0 = func.call @index(%arg0) : (index) -> index
+ return %0 : index
+}
``````````
</details>
https://github.com/llvm/llvm-project/pull/205191
More information about the Mlir-commits
mailing list