Skip to content

Commit f85e6d5

Browse files
committed
Add a region-simplify test
1 parent 7352992 commit f85e6d5

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: mlir-opt %s -canonicalize | FileCheck %s
1+
// RUN: mlir-opt %s -pass-pipeline='builtin.module(llvm.func(canonicalize{region-simplify=aggressive}))' -split-input-file | FileCheck %s
22

33
// CHECK-LABEL: llvm.func @ba()
44
llvm.func @ba() -> !llvm.ptr {
@@ -9,3 +9,31 @@ llvm.func @ba() -> !llvm.ptr {
99
llvm.blocktag <id = 1>
1010
llvm.return %0 : !llvm.ptr
1111
}
12+
13+
// -----
14+
15+
16+
llvm.mlir.global private @g() {addr_space = 0 : i32, dso_local} : !llvm.ptr {
17+
%0 = llvm.blockaddress <function = @fn, tag = <id = 0>> : !llvm.ptr
18+
llvm.return %0 : !llvm.ptr
19+
}
20+
21+
llvm.mlir.global private @h() {addr_space = 0 : i32, dso_local} : !llvm.ptr {
22+
%0 = llvm.blockaddress <function = @fn, tag = <id = 1>> : !llvm.ptr
23+
llvm.return %0 : !llvm.ptr
24+
}
25+
26+
// CHECK-LABEL: llvm.func @fn
27+
llvm.func @fn(%cond : i1, %arg0 : i32, %arg1 : i32) -> i32 {
28+
llvm.cond_br %cond, ^bb1, ^bb2
29+
^bb1:
30+
// CHECK: llvm.blocktag <id = 0>
31+
// CHECK: llvm.return
32+
llvm.blocktag <id = 0>
33+
llvm.return %arg0 : i32
34+
^bb2:
35+
// CHECK: llvm.blocktag <id = 1>
36+
// CHECK: llvm.return
37+
llvm.blocktag <id = 1>
38+
llvm.return %arg1 : i32
39+
}

0 commit comments

Comments
 (0)