]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Other/pass-pipeline-parsing.ll
Vendor import of llvm RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
[FreeBSD/FreeBSD.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: FunctionPassManager
38 ; CHECK-NESTED-TWO-NOOP-FP: Starting function pass manager
39 ; CHECK-NESTED-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
40 ; CHECK-NESTED-TWO-NOOP-FP: Running function pass: NoOpFunctionPass
41 ; CHECK-NESTED-TWO-NOOP-FP: Finished function pass manager
42 ; CHECK-NESTED-TWO-NOOP-FP: Finished function pass manager
43 ; CHECK-NESTED-TWO-NOOP-FP: Finished module pass manager
44
45 ; RUN: opt -disable-output -debug-pass-manager \
46 ; RUN:     -passes='no-op-module,function(no-op-function,no-op-function),no-op-module' %s 2>&1 \
47 ; RUN:     | FileCheck %s --check-prefix=CHECK-MIXED-FP-AND-MP
48 ; CHECK-MIXED-FP-AND-MP: Starting module pass manager
49 ; CHECK-MIXED-FP-AND-MP: Running module pass: NoOpModulePass
50 ; CHECK-MIXED-FP-AND-MP: Running module pass: ModuleToFunctionPassAdaptor
51 ; CHECK-MIXED-FP-AND-MP: Starting function pass manager
52 ; CHECK-MIXED-FP-AND-MP: Running function pass: NoOpFunctionPass
53 ; CHECK-MIXED-FP-AND-MP: Running function pass: NoOpFunctionPass
54 ; CHECK-MIXED-FP-AND-MP: Finished function pass manager
55 ; CHECK-MIXED-FP-AND-MP: Running module pass: NoOpModulePass
56 ; CHECK-MIXED-FP-AND-MP: Finished module pass manager
57
58 ; RUN: not opt -disable-output -debug-pass-manager \
59 ; RUN:     -passes='no-op-module)' %s 2>&1 \
60 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED1
61 ; CHECK-UNBALANCED1: unable to parse pass pipeline description
62
63 ; RUN: not opt -disable-output -debug-pass-manager \
64 ; RUN:     -passes='module(no-op-module))' %s 2>&1 \
65 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED2
66 ; CHECK-UNBALANCED2: unable to parse pass pipeline description
67
68 ; RUN: not opt -disable-output -debug-pass-manager \
69 ; RUN:     -passes='module(no-op-module' %s 2>&1 \
70 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED3
71 ; CHECK-UNBALANCED3: unable to parse pass pipeline description
72
73 ; RUN: not opt -disable-output -debug-pass-manager \
74 ; RUN:     -passes='no-op-function)' %s 2>&1 \
75 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED4
76 ; CHECK-UNBALANCED4: unable to parse pass pipeline description
77
78 ; RUN: not opt -disable-output -debug-pass-manager \
79 ; RUN:     -passes='function(no-op-function))' %s 2>&1 \
80 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED5
81 ; CHECK-UNBALANCED5: unable to parse pass pipeline description
82
83 ; RUN: not opt -disable-output -debug-pass-manager \
84 ; RUN:     -passes='function(function(no-op-function)))' %s 2>&1 \
85 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED6
86 ; CHECK-UNBALANCED6: unable to parse pass pipeline description
87
88 ; RUN: not opt -disable-output -debug-pass-manager \
89 ; RUN:     -passes='function(no-op-function' %s 2>&1 \
90 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED7
91 ; CHECK-UNBALANCED7: unable to parse pass pipeline description
92
93 ; RUN: not opt -disable-output -debug-pass-manager \
94 ; RUN:     -passes='function(function(no-op-function)' %s 2>&1 \
95 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED8
96 ; CHECK-UNBALANCED8: unable to parse pass pipeline description
97
98 ; RUN: not opt -disable-output -debug-pass-manager \
99 ; RUN:     -passes='no-op-module,)' %s 2>&1 \
100 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED9
101 ; CHECK-UNBALANCED9: unable to parse pass pipeline description
102
103 ; RUN: not opt -disable-output -debug-pass-manager \
104 ; RUN:     -passes='no-op-function,)' %s 2>&1 \
105 ; RUN:     | FileCheck %s --check-prefix=CHECK-UNBALANCED10
106 ; CHECK-UNBALANCED10: unable to parse pass pipeline description
107
108 ; RUN: opt -disable-output -debug-pass-manager -debug-cgscc-pass-manager \
109 ; RUN:     -passes=no-op-cgscc,no-op-cgscc %s 2>&1 \
110 ; RUN:     | FileCheck %s --check-prefix=CHECK-TWO-NOOP-CG
111 ; CHECK-TWO-NOOP-CG: Starting module pass manager
112 ; CHECK-TWO-NOOP-CG: Running module pass: ModuleToPostOrderCGSCCPassAdaptor
113 ; CHECK-TWO-NOOP-CG: Starting CGSCC pass manager
114 ; CHECK-TWO-NOOP-CG: Running CGSCC pass: NoOpCGSCCPass
115 ; CHECK-TWO-NOOP-CG: Running CGSCC pass: NoOpCGSCCPass
116 ; CHECK-TWO-NOOP-CG: Finished CGSCC pass manager
117 ; CHECK-TWO-NOOP-CG: Finished module pass manager
118
119 ; RUN: opt -disable-output -debug-pass-manager -debug-cgscc-pass-manager \
120 ; 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 \
121 ; RUN:     | FileCheck %s --check-prefix=CHECK-NESTED-MP-CG-FP
122 ; CHECK-NESTED-MP-CG-FP: Starting module pass manager
123 ; CHECK-NESTED-MP-CG-FP: Starting module pass manager
124 ; CHECK-NESTED-MP-CG-FP: Running module pass: ModuleToFunctionPassAdaptor
125 ; CHECK-NESTED-MP-CG-FP: Starting function pass manager
126 ; CHECK-NESTED-MP-CG-FP: Running function pass: NoOpFunctionPass
127 ; CHECK-NESTED-MP-CG-FP: Finished function pass manager
128 ; CHECK-NESTED-MP-CG-FP: Running module pass: ModuleToPostOrderCGSCCPassAdaptor
129 ; CHECK-NESTED-MP-CG-FP: Starting CGSCC pass manager
130 ; CHECK-NESTED-MP-CG-FP: Running CGSCC pass: NoOpCGSCCPass
131 ; CHECK-NESTED-MP-CG-FP: Running CGSCC pass: CGSCCToFunctionPassAdaptor
132 ; CHECK-NESTED-MP-CG-FP: Starting function pass manager
133 ; CHECK-NESTED-MP-CG-FP: Running function pass: NoOpFunctionPass
134 ; CHECK-NESTED-MP-CG-FP: Finished function pass manager
135 ; CHECK-NESTED-MP-CG-FP: Running CGSCC pass: NoOpCGSCCPass
136 ; CHECK-NESTED-MP-CG-FP: Finished CGSCC pass manager
137 ; CHECK-NESTED-MP-CG-FP: Running module pass: ModuleToFunctionPassAdaptor
138 ; CHECK-NESTED-MP-CG-FP: Starting function pass manager
139 ; CHECK-NESTED-MP-CG-FP: Running function pass: NoOpFunctionPass
140 ; CHECK-NESTED-MP-CG-FP: Finished function pass manager
141 ; CHECK-NESTED-MP-CG-FP: Finished module pass manager
142 ; CHECK-NESTED-MP-CG-FP: Finished module pass manager
143
144 define void @f() {
145  ret void
146 }