xref: /aosp_15_r20/external/llvm/test/Analysis/Dominators/basic.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -domtree -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-OLDPM
2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -disable-output -passes='print<domtree>' 2>&1 | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-NEWPM
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @test1() {
5*9880d681SAndroid Build Coastguard Worker; CHECK-OLDPM-LABEL: 'Dominator Tree Construction' for function 'test1':
6*9880d681SAndroid Build Coastguard Worker; CHECK-NEWPM-LABEL: DominatorTree for function: test1
7*9880d681SAndroid Build Coastguard Worker; CHECK:      [1] %entry
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   [2] %a
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   [2] %c
10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:     [3] %d
11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:     [3] %e
12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   [2] %b
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerentry:
15*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %a, label %b
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workera:
18*9880d681SAndroid Build Coastguard Worker  br label %c
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerb:
21*9880d681SAndroid Build Coastguard Worker  br label %c
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Workerc:
24*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %d, label %e
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Workerd:
27*9880d681SAndroid Build Coastguard Worker  ret void
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Workere:
30*9880d681SAndroid Build Coastguard Worker  ret void
31*9880d681SAndroid Build Coastguard Worker}
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workerdefine void @test2() {
34*9880d681SAndroid Build Coastguard Worker; CHECK-OLDPM-LABEL: 'Dominator Tree Construction' for function 'test2':
35*9880d681SAndroid Build Coastguard Worker; CHECK-NEWPM-LABEL: DominatorTree for function: test2
36*9880d681SAndroid Build Coastguard Worker; CHECK:      [1] %entry
37*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   [2] %a
38*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:     [3] %b
39*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:       [4] %c
40*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:         [5] %d
41*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:         [5] %ret
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Workerentry:
44*9880d681SAndroid Build Coastguard Worker  br label %a
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Workera:
47*9880d681SAndroid Build Coastguard Worker  br label %b
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Workerb:
50*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %a, label %c
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Workerc:
53*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %d, label %ret
54*9880d681SAndroid Build Coastguard Worker
55*9880d681SAndroid Build Coastguard Workerd:
56*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %a, label %ret
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Workerret:
59*9880d681SAndroid Build Coastguard Worker  ret void
60*9880d681SAndroid Build Coastguard Worker}
61