[PM] Fold all three analysis managers into a single AnalysisManager
[oota-llvm.git] / test / Other / pass-pipeline-parsing.ll
1 ; RUN: opt -disable-output -debug-pass-manager \
2 ; RUN:     -passes=no-op-module,no-op-module %s 2>&1 \
3 ; RUN:     | FileCheck %s --check-prefix=CHECK-TWO-NOOP-MP
4 ; CHECK-TWO-NOOP-MP: Starting module pass manager
5 ; CHECK-TWO-NOOP-MP: Running module pass: NoOpModulePass
6 ; CHECK-TWO-NOOP-MP: Running module pass: NoOpModulePass
7 ; CHECK-TWO-NOOP-MP: Finished module pass manager
8
9 ; RUN: opt -disable-output -debug-pass-manager \
10 ; RUN:     -passes='module(no-op-module,no-op-module)' %s 2>&1 \
11 ; RUN:     | FileCheck %s --check-prefix=CHECK-NESTED-TWO-NOOP-MP
12 ; CHECK-NESTED-TWO-NOOP-MP: Starting module pass manager
13 ; CHECK-NESTED-TWO-NOOP-MP: Running module pass: ModulePassManager
14 ; CHECK-NESTED-TWO-NOOP-MP: Starting module pass manager
15 ; CHECK-NESTED-TWO-NOOP-MP: Running module pass: NoOpModulePass
16 ; CHECK-NESTED-TWO-NOOP-MP: Running module pass: NoOpModulePass
17 ; CHECK-NESTED-TWO-NOOP-MP: Finished module pass manager
18 ; CHECK-NESTED-TWO-NOOP-MP: Finished module pass manager
19
20 ; RUN: opt -disable-output -debug-pass-manager \
21 ; RUN:     -passes=no-op-function,no-op-function %s 2>&1 \
22 ; RUN:     | FileCheck %s --check-prefix=CHECK-TWO-NOOP-FP
23 ; CHECK-TWO-NOOP-FP: Starting module pass manager
24 ; CHECK-TWO-NOOP-FP: Running module pass: ModuleToFunctionPassAdaptor
25 ; CHECK-TWO-NOOP-FP: Starting function pass manager
26 ; CHECK-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
27 ; CHECK-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
28 ; CHECK-TWO-NOOP-FP: Finished function pass manager
29 ; CHECK-TWO-NOOP-FP: Finished module pass manager
30
31 ; RUN: opt -disable-output -debug-pass-manager \
32 ; RUN:     -passes='function(no-op-function,no-op-function)' %s 2>&1 \
33 ; RUN:     | FileCheck %s --check-prefix=CHECK-NESTED-TWO-NOOP-FP
34 ; CHECK-NESTED-TWO-NOOP-FP: Starting module pass manager
35 ; CHECK-NESTED-TWO-NOOP-FP: Running module pass: ModuleToFunctionPassAdaptor
36 ; CHECK-NESTED-TWO-NOOP-FP: Starting function pass manager
37 ; CHECK-NESTED-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
38 ; CHECK-NESTED-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
39 ; CHECK-NESTED-TWO-NOOP-FP: Finished function pass manager
40 ; CHECK-NESTED-TWO-NOOP-FP: Finished module pass manager
41
42 ; RUN: opt -disable-output -debug-pass-manager \
43 ; RUN:     -passes='no-op-module,function(no-op-function,no-op-function),no-op-module' %s 2>&1 \
44 ; RUN:     | FileCheck %s --check-prefix=CHECK-MIXED-FP-AND-MP
45 ; CHECK-MIXED-FP-AND-MP: Starting module pass manager
46 ; CHECK-MIXED-FP-AND-MP: Running module pass: NoOpModulePass
47 ; CHECK-MIXED-FP-AND-MP: Running module pass: ModuleToFunctionPassAdaptor
48 ; CHECK-MIXED-FP-AND-MP: Starting function pass manager
49 ; CHECK-MIXED-FP-AND-MP: Running function pass: NoOpFunctionPass
50 ; CHECK-MIXED-FP-AND-MP: Running function pass: NoOpFunctionPass
51 ; CHECK-MIXED-FP-AND-MP: Finished function pass manager
52 ; CHECK-MIXED-FP-AND-MP: Running module pass: NoOpModulePass
53 ; CHECK-MIXED-FP-AND-MP: Finished module pass manager
54
55 ; RUN: not opt -disable-output -debug-pass-manager \
56 ; RUN:     -passes='no-op-module)' %s 2>&1 \
57 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED1
58 ; CHECK-UNBALANCED1: unable to parse pass pipeline description
59
60 ; RUN: not opt -disable-output -debug-pass-manager \
61 ; RUN:     -passes='module(no-op-module))' %s 2>&1 \
62 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED2
63 ; CHECK-UNBALANCED2: unable to parse pass pipeline description
64
65 ; RUN: not opt -disable-output -debug-pass-manager \
66 ; RUN:     -passes='module(no-op-module' %s 2>&1 \
67 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED3
68 ; CHECK-UNBALANCED3: unable to parse pass pipeline description
69
70 ; RUN: not opt -disable-output -debug-pass-manager \
71 ; RUN:     -passes='no-op-function)' %s 2>&1 \
72 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED4
73 ; CHECK-UNBALANCED4: unable to parse pass pipeline description
74
75 ; RUN: not opt -disable-output -debug-pass-manager \
76 ; RUN:     -passes='function(no-op-function))' %s 2>&1 \
77 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED5
78 ; CHECK-UNBALANCED5: unable to parse pass pipeline description
79
80 ; RUN: not opt -disable-output -debug-pass-manager \
81 ; RUN:     -passes='function(function(no-op-function)))' %s 2>&1 \
82 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED6
83 ; CHECK-UNBALANCED6: unable to parse pass pipeline description
84
85 ; RUN: not opt -disable-output -debug-pass-manager \
86 ; RUN:     -passes='function(no-op-function' %s 2>&1 \
87 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED7
88 ; CHECK-UNBALANCED7: unable to parse pass pipeline description
89
90 ; RUN: not opt -disable-output -debug-pass-manager \
91 ; RUN:     -passes='function(function(no-op-function)' %s 2>&1 \
92 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED8
93 ; CHECK-UNBALANCED8: unable to parse pass pipeline description
94
95 ; RUN: not opt -disable-output -debug-pass-manager \
96 ; RUN:     -passes='no-op-module,)' %s 2>&1 \
97 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED9
98 ; CHECK-UNBALANCED9: unable to parse pass pipeline description
99
100 ; RUN: not opt -disable-output -debug-pass-manager \
101 ; RUN:     -passes='no-op-function,)' %s 2>&1 \
102 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED10
103 ; CHECK-UNBALANCED10: unable to parse pass pipeline description
104
105 ; RUN: opt -disable-output -debug-pass-manager -debug-cgscc-pass-manager \
106 ; RUN:     -passes=no-op-cgscc,no-op-cgscc %s 2>&1 \
107 ; RUN:     | FileCheck %s --check-prefix=CHECK-TWO-NOOP-CG
108 ; CHECK-TWO-NOOP-CG: Starting module pass manager
109 ; CHECK-TWO-NOOP-CG: Running module pass: ModuleToPostOrderCGSCCPassAdaptor
110 ; CHECK-TWO-NOOP-CG: Starting CGSCC pass manager
111 ; CHECK-TWO-NOOP-CG: Running CGSCC pass: NoOpCGSCCPass
112 ; CHECK-TWO-NOOP-CG: Running CGSCC pass: NoOpCGSCCPass
113 ; CHECK-TWO-NOOP-CG: Finished CGSCC pass manager
114 ; CHECK-TWO-NOOP-CG: Finished module pass manager
115
116 ; RUN: opt -disable-output -debug-pass-manager -debug-cgscc-pass-manager \
117 ; RUN:     -passes='module(function(no-op-function),cgscc(no-op-cgscc,function(no-op-function),no-op-cgscc),function(no-op-function))' %s 2>&1 \
118 ; RUN:     | FileCheck %s --check-prefix=CHECK-NESTED-MP-CG-FP
119 ; CHECK-NESTED-MP-CG-FP: Starting module pass manager
120 ; CHECK-NESTED-MP-CG-FP: Starting module pass manager
121 ; CHECK-NESTED-MP-CG-FP: Running module pass: ModuleToFunctionPassAdaptor
122 ; CHECK-NESTED-MP-CG-FP: Starting function pass manager
123 ; CHECK-NESTED-MP-CG-FP: Running function pass: NoOpFunctionPass
124 ; CHECK-NESTED-MP-CG-FP: Finished function pass manager
125 ; CHECK-NESTED-MP-CG-FP: Running module pass: ModuleToPostOrderCGSCCPassAdaptor
126 ; CHECK-NESTED-MP-CG-FP: Starting CGSCC pass manager
127 ; CHECK-NESTED-MP-CG-FP: Running CGSCC pass: NoOpCGSCCPass
128 ; CHECK-NESTED-MP-CG-FP: Running CGSCC pass: CGSCCToFunctionPassAdaptor
129 ; CHECK-NESTED-MP-CG-FP: Starting function pass manager
130 ; CHECK-NESTED-MP-CG-FP: Running function pass: NoOpFunctionPass
131 ; CHECK-NESTED-MP-CG-FP: Finished function pass manager
132 ; CHECK-NESTED-MP-CG-FP: Running CGSCC pass: NoOpCGSCCPass
133 ; CHECK-NESTED-MP-CG-FP: Finished CGSCC pass manager
134 ; CHECK-NESTED-MP-CG-FP: Running module pass: ModuleToFunctionPassAdaptor
135 ; CHECK-NESTED-MP-CG-FP: Starting function pass manager
136 ; CHECK-NESTED-MP-CG-FP: Running function pass: NoOpFunctionPass
137 ; CHECK-NESTED-MP-CG-FP: Finished function pass manager
138 ; CHECK-NESTED-MP-CG-FP: Finished module pass manager
139 ; CHECK-NESTED-MP-CG-FP: Finished module pass manager
140
141 define void @f() {
142  ret void
143 }