xref: /llvm-project/llvm/test/Analysis/Dominators/basic.ll (revision 1469d82e1cb3edc939d6b93089046edfef0cf36c)
1; RUN: opt < %s -disable-output -passes='print<domtree>' 2>&1 | FileCheck %s
2
3define void @test1(i1 %arg) {
4; CHECK-LABEL: DominatorTree for function: test1
5; CHECK:      [1] %entry
6; CHECK-NEXT:   [2] %a
7; CHECK-NEXT:   [2] %c
8; CHECK-NEXT:     [3] %d
9; CHECK-NEXT:     [3] %e
10; CHECK-NEXT:   [2] %b
11
12entry:
13  br i1 %arg, label %a, label %b
14
15a:
16  br label %c
17
18b:
19  br label %c
20
21c:
22  br i1 %arg, label %d, label %e
23
24d:
25  ret void
26
27e:
28  ret void
29}
30
31define void @test2(i1 %arg) {
32; CHECK-LABEL: DominatorTree for function: test2
33; CHECK:      [1] %entry
34; CHECK-NEXT:   [2] %a
35; CHECK-NEXT:     [3] %b
36; CHECK-NEXT:       [4] %c
37; CHECK-NEXT:         [5] %d
38; CHECK-NEXT:         [5] %ret
39
40entry:
41  br label %a
42
43a:
44  br label %b
45
46b:
47  br i1 %arg, label %a, label %c
48
49c:
50  br i1 %arg, label %d, label %ret
51
52d:
53  br i1 %arg, label %a, label %ret
54
55ret:
56  ret void
57}
58