-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathroundtrip.mlir
More file actions
24 lines (23 loc) · 1.41 KB
/
Copy pathroundtrip.mlir
File metadata and controls
24 lines (23 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// RUN: VEIR_ROUNDTRIP
"builtin.module"() ({
// CHECK: "builtin.module"() ({
// CHECK-NEXT: ^{{.*}}():
"func.func"() <{sym_name = "main", function_type = () -> ()}> ({
// CHECK-NEXT: "func.func"() <{"function_type" = () -> (), "sym_name" = "main"}> ({
// CHECK-NEXT: ^{{.*}}():
%peer = "io.self"() : () -> !io.address
// CHECK-NEXT: %[[peer:.*]] = "io.self"() : () -> !io.address
%len = "llvm.mlir.constant"() <{value = 32 : i64}> : () -> i64
// CHECK-NEXT: %[[len:.*]] = "llvm.mlir.constant"() <{"value" = 32 : i64}> : () -> i64
%buf = "llvm.alloca"(%len) <{elem_type = i8}> : (i64) -> !llvm.ptr
// CHECK-NEXT: %[[buf:.*]] = "llvm.alloca"(%[[len]]) <{"alignment" = 0 : i64, "elem_type" = i8}> : (i64) -> !llvm.ptr
%n0 = "io.rand"(%buf, %len) : (!llvm.ptr, i64) -> i64
// CHECK-NEXT: %{{.*}} = "io.rand"(%[[buf]], %[[len]]) : (!llvm.ptr, i64) -> i64
%n1 = "io.send"(%peer, %buf, %len) : (!io.address, !llvm.ptr, i64) -> i64
// CHECK-NEXT: %{{.*}} = "io.send"(%[[peer]], %[[buf]], %[[len]]) : (!io.address, !llvm.ptr, i64) -> i64
%n2, %from = "io.recv"(%buf, %len) : (!llvm.ptr, i64) -> (i64, !io.address)
// CHECK-NEXT: %{{.*}}:2 = "io.recv"(%[[buf]], %[[len]]) : (!llvm.ptr, i64) -> (i64, !io.address)
"func.return"() : () -> ()
// CHECK-NEXT: "func.return"() : () -> ()
}) : () -> ()
}) : () -> ()