Skip to content

Commit 5da29fb

Browse files
committed
[AutoBump] Merge with fixes of 68a3908 (Nov 18)
2 parents 3376c4a + 68a3908 commit 5da29fb

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

mlir/include/mlir/Dialect/EmitC/IR/EmitC.td

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ def EmitC_DeclareFuncOp : EmitC_Op<"declare_func", [
686686

687687
def EmitC_FuncOp : EmitC_Op<"func", [
688688
AutomaticAllocationScope,
689-
FunctionOpInterface, IsolatedFromAbove
689+
FunctionOpInterface, IsolatedFromAbove, OpAsmOpInterface
690690
]> {
691691
let summary = "An operation with a name containing a single `SSACFG` region";
692692
let description = [{
@@ -760,6 +760,14 @@ def EmitC_FuncOp : EmitC_Op<"func", [
760760
//===------------------------------------------------------------------===//
761761

762762
bool isDeclaration() { return isExternal(); }
763+
764+
// OpAsmOpInterface Methods
765+
//===------------------------------------------------------------------===//
766+
767+
/// EmitC ops in the body can omit their 'emitc.' prefix in the assembly.
768+
static ::llvm::StringRef getDefaultDialect() {
769+
return "emitc";
770+
}
763771
}];
764772
let hasCustomAssemblyFormat = 1;
765773
let hasVerifier = 1;

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
// RUN: mlir-opt -split-input-file -convert-func-to-emitc %s | FileCheck %s
22

33
// CHECK-LABEL: emitc.func @foo()
4-
// CHECK-NEXT: emitc.return
4+
// CHECK-NEXT: return
55
func.func @foo() {
66
return
77
}
88

99
// -----
1010

1111
// CHECK-LABEL: emitc.func private @foo() attributes {specifiers = ["static"]}
12-
// CHECK-NEXT: emitc.return
12+
// CHECK-NEXT: return
1313
func.func private @foo() {
1414
return
1515
}
@@ -25,7 +25,7 @@ func.func @foo(%arg0: i32) {
2525
// -----
2626

2727
// CHECK-LABEL: emitc.func @foo(%arg0: i32) -> i32
28-
// CHECK-NEXT: emitc.return %arg0 : i32
28+
// CHECK-NEXT: return %arg0 : i32
2929
func.func @foo(%arg0: i32) -> i32 {
3030
return %arg0 : i32
3131
}
@@ -41,14 +41,14 @@ func.func @foo(%arg0: i32, %arg1: i32) -> i32 {
4141
// -----
4242

4343
// CHECK-LABEL: emitc.func private @return_i32(%arg0: i32) -> i32 attributes {specifiers = ["static"]}
44-
// CHECK-NEXT: emitc.return %arg0 : i32
44+
// CHECK-NEXT: return %arg0 : i32
4545
func.func private @return_i32(%arg0: i32) -> i32 {
4646
return %arg0 : i32
4747
}
4848

4949
// CHECK-LABEL: emitc.func @call(%arg0: i32) -> i32
50-
// CHECK-NEXT: %0 = emitc.call @return_i32(%arg0) : (i32) -> i32
51-
// CHECK-NEXT: emitc.return %0 : i32
50+
// CHECK-NEXT: %0 = call @return_i32(%arg0) : (i32) -> i32
51+
// CHECK-NEXT: return %0 : i32
5252
func.func @call(%arg0: i32) -> i32 {
5353
%0 = call @return_i32(%arg0) : (i32) -> (i32)
5454
return %0 : i32
@@ -63,7 +63,7 @@ func.func private @return_i32(%arg0: i32) -> i32
6363

6464
// CHECK-LABEL: emitc.func @use_index
6565
// CHECK-SAME: (%[[Arg0:.*]]: !emitc.size_t) -> !emitc.size_t
66-
// CHECK: emitc.return %[[Arg0]] : !emitc.size_t
66+
// CHECK: return %[[Arg0]] : !emitc.size_t
6767
func.func @use_index(%arg0: index) -> index {
6868
return %arg0 : index
6969
}
@@ -74,8 +74,8 @@ func.func @use_index(%arg0: index) -> index {
7474
func.func private @prototype_index(%arg0: index) -> index
7575

7676
// CHECK-LABEL: emitc.func @call(%arg0: !emitc.size_t) -> !emitc.size_t
77-
// CHECK-NEXT: %0 = emitc.call @prototype_index(%arg0) : (!emitc.size_t) -> !emitc.size_t
78-
// CHECK-NEXT: emitc.return %0 : !emitc.size_t
77+
// CHECK-NEXT: %0 = call @prototype_index(%arg0) : (!emitc.size_t) -> !emitc.size_t
78+
// CHECK-NEXT: return %0 : !emitc.size_t
7979
func.func @call(%arg0: index) -> index {
8080
%0 = call @prototype_index(%arg0) : (index) -> (index)
8181
return %0 : index
@@ -92,14 +92,14 @@ func.func @index_args_only(%i: index) -> f32 {
9292
// -----
9393

9494
// CHECK-LABEL: emitc.func private @return_void() attributes {specifiers = ["static"]}
95-
// CHECK-NEXT: emitc.return
95+
// CHECK-NEXT: return
9696
func.func private @return_void() {
9797
return
9898
}
9999

100100
// CHECK-LABEL: emitc.func @call()
101-
// CHECK-NEXT: emitc.call @return_void() : () -> ()
102-
// CHECK-NEXT: emitc.return
101+
// CHECK-NEXT: call @return_void() : () -> ()
102+
// CHECK-NEXT: return
103103
func.func @call() {
104104
call @return_void() : () -> ()
105105
return

mlir/test/Dialect/EmitC/eliminate_libm.mlir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// CHECK: emitc.include <"cmath">
44
// CHECK-NOT: emitc.func private @expm1
55
// CHECK-DAG: emitc.func @call_expm1(%[[IN:.*]]: f64) -> f64
6-
// CHECK-DAG: %[[RESULT:.*]] = emitc.call_opaque "expm1"(%[[IN]]) : (f64) -> f64
6+
// CHECK-DAG: %[[RESULT:.*]] = call_opaque "expm1"(%[[IN]]) : (f64) -> f64
77
// CHECK-DAG: return %[[RESULT]]
88
module {
99
emitc.func private @expm1(f64) -> f64 attributes {libm, llvm.readnone, specifiers = ["extern"]}
@@ -18,7 +18,7 @@ module {
1818
// CHECK-NOT: emitc.include <"cmath">
1919
// CHECK: emitc.func private @expm1
2020
// CHECK: emitc.func @call_expm1(%[[IN:.*]]: f64) -> f64
21-
// CHECK-NEXT: %[[RESULT:.*]] = emitc.call @expm1(%[[IN]]) : (f64) -> f64
21+
// CHECK-NEXT: %[[RESULT:.*]] = call @expm1(%[[IN]]) : (f64) -> f64
2222
// CHECK-NEXT: return %[[RESULT]]
2323
module {
2424
emitc.func private @expm1(f64) -> f64 attributes {llvm.readnone}

0 commit comments

Comments
 (0)