Skip to content

Commit 4c78a3d

Browse files
Simon Camphausenmgehre-amd
Simon Camphausen
authored andcommitted
[mlir][EmitC] Fix call ops with zero arguments in func to emitc conversion (llvm#94936)
1 parent 54e2843 commit 4c78a3d

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class CallOpConversion final : public OpConversionPattern<func::CallOp> {
3131
LogicalResult
3232
matchAndRewrite(func::CallOp callOp, OpAdaptor adaptor,
3333
ConversionPatternRewriter &rewriter) const override {
34-
// Multiple results func was not converted to `emitc.func`.
34+
// Multiple results func cannot be converted to `emitc.func`.
3535
if (callOp.getNumResults() > 1)
3636
return rewriter.notifyMatchFailure(
3737
callOp, "only functions with zero or one result can be converted");

mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,19 @@ func.func @index_args_only(%i: index) -> f32 {
8888
%0 = arith.constant 0.0 : f32
8989
return %0 : f32
9090
}
91+
92+
// -----
93+
94+
// CHECK-LABEL: emitc.func private @return_void() attributes {specifiers = ["static"]}
95+
// CHECK-NEXT: emitc.return
96+
func.func private @return_void() {
97+
return
98+
}
99+
100+
// CHECK-LABEL: emitc.func @call()
101+
// CHECK-NEXT: emitc.call @return_void() : () -> ()
102+
// CHECK-NEXT: emitc.return
103+
func.func @call() {
104+
call @return_void() : () -> ()
105+
return
106+
}

0 commit comments

Comments
 (0)