Skip to content

Commit 6e19a0d

Browse files
committed
add llvm region inlining test
1 parent 8433b18 commit 6e19a0d

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,39 @@ llvm.func @bar(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: !llvm.ptr) {
296296

297297
llvm.func @random() -> i1
298298

299+
llvm.func @region_branch(%arg0: !llvm.ptr {llvm.noalias}, %arg1: !llvm.ptr {llvm.noalias}) {
300+
%0 = llvm.mlir.constant(5 : i64) : i32
301+
test.region_if %arg0: !llvm.ptr -> !llvm.ptr then {
302+
^bb0(%arg2: !llvm.ptr):
303+
test.region_if_yield %arg0 : !llvm.ptr
304+
} else {
305+
^bb0(%arg2: !llvm.ptr):
306+
test.region_if_yield %arg0 : !llvm.ptr
307+
} join {
308+
^bb0(%arg2: !llvm.ptr):
309+
llvm.store %0, %arg2 : i32, !llvm.ptr
310+
test.region_if_yield %arg0 : !llvm.ptr
311+
}
312+
llvm.return
313+
}
314+
315+
// CHECK-LABEL: llvm.func @region_branch_inlining
316+
// CHECK: llvm.store
317+
// CHECK-SAME: alias_scopes = [#[[$ARG0_SCOPE]]]
318+
// CHECK-SAME: noalias_scopes = [#[[$ARG1_SCOPE]]]
319+
llvm.func @region_branch_inlining(%arg0: !llvm.ptr, %arg1: !llvm.ptr, %arg2: !llvm.ptr) {
320+
llvm.call @region_branch(%arg0, %arg2) : (!llvm.ptr, !llvm.ptr) -> ()
321+
llvm.return
322+
}
323+
324+
// -----
325+
326+
// CHECK-DAG: #[[DOMAIN:.*]] = #llvm.alias_scope_domain<{{.*}}>
327+
// CHECK-DAG: #[[$ARG0_SCOPE:.*]] = #llvm.alias_scope<id = {{.*}}, domain = #[[DOMAIN]]{{(,.*)?}}>
328+
// CHECK-DAG: #[[$ARG1_SCOPE:.*]] = #llvm.alias_scope<id = {{.*}}, domain = #[[DOMAIN]]{{(,.*)?}}>
329+
330+
llvm.func @random() -> i1
331+
299332
llvm.func @block_arg(%arg0: !llvm.ptr {llvm.noalias}, %arg1: !llvm.ptr {llvm.noalias}) {
300333
%0 = llvm.mlir.constant(5 : i64) : i32
301334
%1 = llvm.mlir.constant(1 : i64) : i64

0 commit comments

Comments
 (0)