1 ; This test is essentially doing very basic things with the opt tool and the 2 ; new pass manager pipeline. It will be used to flesh out the feature 3 ; completeness of the opt tool when the new pass manager is engaged. The tests 4 ; may not be useful once it becomes the default or may get spread out into other 5 ; files, but for now this is just going to step the new process through its 6 ; paces. 7 8 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 9 ; RUN: -passes=no-op-module %s 2>&1 \ 10 ; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PASS 11 ; CHECK-MODULE-PASS: Starting pass manager 12 ; CHECK-MODULE-PASS-NEXT: Running pass: NoOpModulePass 13 ; CHECK-MODULE-PASS-NEXT: Finished pass manager 14 15 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 16 ; RUN: -passes=no-op-cgscc %s 2>&1 \ 17 ; RUN: | FileCheck %s --check-prefix=CHECK-CGSCC-PASS 18 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 19 ; RUN: -passes='cgscc(no-op-cgscc)' %s 2>&1 \ 20 ; RUN: | FileCheck %s --check-prefix=CHECK-CGSCC-PASS 21 ; CHECK-CGSCC-PASS: Starting pass manager 22 ; CHECK-CGSCC-PASS-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor 23 ; CHECK-CGSCC-PASS-NEXT: Running analysis: CGSCCAnalysisManagerModuleProxy 24 ; CHECK-CGSCC-PASS-NEXT: Running analysis: Lazy CallGraph Analysis 25 ; CHECK-CGSCC-PASS-NEXT: Starting pass manager 26 ; CHECK-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass 27 ; CHECK-CGSCC-PASS-NEXT: Finished pass manager 28 ; CHECK-CGSCC-PASS-NEXT: Finished pass manager 29 30 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 31 ; RUN: -passes=no-op-function %s 2>&1 \ 32 ; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS 33 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 34 ; RUN: -passes='function(no-op-function)' %s 2>&1 \ 35 ; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS 36 ; CHECK-FUNCTION-PASS: Starting pass manager 37 ; CHECK-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor 38 ; CHECK-FUNCTION-PASS-NEXT: Running analysis: FunctionAnalysisManagerModuleProxy 39 ; CHECK-FUNCTION-PASS-NEXT: Starting pass manager 40 ; CHECK-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass 41 ; CHECK-FUNCTION-PASS-NEXT: Finished pass manager 42 ; CHECK-FUNCTION-PASS-NEXT: Finished pass manager 43 44 ; RUN: opt -disable-output -debug-pass-manager -passes=print %s 2>&1 \ 45 ; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PRINT 46 ; CHECK-MODULE-PRINT: Starting pass manager 47 ; CHECK-MODULE-PRINT: Running pass: VerifierPass 48 ; CHECK-MODULE-PRINT: Running pass: PrintModulePass 49 ; CHECK-MODULE-PRINT: ModuleID 50 ; CHECK-MODULE-PRINT: define void @foo() 51 ; CHECK-MODULE-PRINT: Running pass: VerifierPass 52 ; CHECK-MODULE-PRINT: Finished pass manager 53 54 ; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='print,verify' %s 2>&1 \ 55 ; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-VERIFY 56 ; CHECK-MODULE-VERIFY: Starting pass manager 57 ; CHECK-MODULE-VERIFY: Running pass: PrintModulePass 58 ; CHECK-MODULE-VERIFY: ModuleID 59 ; CHECK-MODULE-VERIFY: define void @foo() 60 ; CHECK-MODULE-VERIFY: Running pass: VerifierPass 61 ; CHECK-MODULE-VERIFY: Finished pass manager 62 63 ; RUN: opt -disable-output -debug-pass-manager -passes='function(print)' %s 2>&1 \ 64 ; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PRINT 65 ; CHECK-FUNCTION-PRINT: Starting pass manager 66 ; CHECK-FUNCTION-PRINT: Running pass: VerifierPass 67 ; CHECK-FUNCTION-PRINT: Running pass: ModuleToFunctionPassAdaptor 68 ; CHECK-FUNCTION-PRINT: Running analysis: FunctionAnalysisManagerModuleProxy 69 ; CHECK-FUNCTION-PRINT: Starting pass manager 70 ; CHECK-FUNCTION-PRINT: Running pass: PrintFunctionPass 71 ; CHECK-FUNCTION-PRINT-NOT: ModuleID 72 ; CHECK-FUNCTION-PRINT: define void @foo() 73 ; CHECK-FUNCTION-PRINT: Finished pass manager 74 ; CHECK-FUNCTION-PRINT: Running pass: VerifierPass 75 ; CHECK-FUNCTION-PRINT: Finished pass manager 76 77 ; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='function(print,verify)' %s 2>&1 \ 78 ; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-VERIFY 79 ; CHECK-FUNCTION-VERIFY: Starting pass manager 80 ; CHECK-FUNCTION-VERIFY: Starting pass manager 81 ; CHECK-FUNCTION-VERIFY: Running pass: PrintFunctionPass 82 ; CHECK-FUNCTION-VERIFY-NOT: ModuleID 83 ; CHECK-FUNCTION-VERIFY: define void @foo() 84 ; CHECK-FUNCTION-VERIFY: Running pass: VerifierPass 85 ; CHECK-FUNCTION-VERIFY: Finished pass manager 86 ; CHECK-FUNCTION-VERIFY: Finished pass manager 87 88 ; RUN: opt -S -o - -passes='no-op-module,no-op-module' %s \ 89 ; RUN: | FileCheck %s --check-prefix=CHECK-NOOP 90 ; CHECK-NOOP: define void @foo() { 91 ; CHECK-NOOP: ret void 92 ; CHECK-NOOP: } 93 94 ; Round trip through bitcode. 95 ; RUN: opt -f -o - -passes='no-op-module,no-op-module' %s \ 96 ; RUN: | llvm-dis \ 97 ; RUN: | FileCheck %s --check-prefix=CHECK-NOOP 98 99 ; RUN: opt -disable-output -debug-pass-manager -verify-each -passes='no-op-module,function(no-op-function)' %s 2>&1 \ 100 ; RUN: | FileCheck %s --check-prefix=CHECK-VERIFY-EACH 101 ; CHECK-VERIFY-EACH: Starting pass manager 102 ; CHECK-VERIFY-EACH: Running pass: VerifierPass 103 ; CHECK-VERIFY-EACH: Running pass: NoOpModulePass 104 ; CHECK-VERIFY-EACH: Running pass: VerifierPass 105 ; CHECK-VERIFY-EACH: Starting pass manager 106 ; CHECK-VERIFY-EACH: Running pass: NoOpFunctionPass 107 ; CHECK-VERIFY-EACH: Running pass: VerifierPass 108 ; CHECK-VERIFY-EACH: Finished pass manager 109 ; CHECK-VERIFY-EACH: Running pass: VerifierPass 110 ; CHECK-VERIFY-EACH: Finished pass manager 111 112 ; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='no-op-module,function(no-op-function)' %s 2>&1 \ 113 ; RUN: | FileCheck %s --check-prefix=CHECK-NO-VERIFY 114 ; CHECK-NO-VERIFY: Starting pass manager 115 ; CHECK-NO-VERIFY-NOT: VerifierPass 116 ; CHECK-NO-VERIFY: Running pass: NoOpModulePass 117 ; CHECK-NO-VERIFY-NOT: VerifierPass 118 ; CHECK-NO-VERIFY: Starting pass manager 119 ; CHECK-NO-VERIFY: Running pass: NoOpFunctionPass 120 ; CHECK-NO-VERIFY-NOT: VerifierPass 121 ; CHECK-NO-VERIFY: Finished pass manager 122 ; CHECK-NO-VERIFY-NOT: VerifierPass 123 ; CHECK-NO-VERIFY: Finished pass manager 124 125 ; RUN: opt -disable-output -debug-pass-manager \ 126 ; RUN: -passes='require<no-op-module>,cgscc(require<no-op-cgscc>,function(require<no-op-function>))' %s 2>&1 \ 127 ; RUN: | FileCheck %s --check-prefix=CHECK-ANALYSES 128 ; CHECK-ANALYSES: Starting pass manager 129 ; CHECK-ANALYSES: Running pass: RequireAnalysisPass 130 ; CHECK-ANALYSES: Running analysis: NoOpModuleAnalysis 131 ; CHECK-ANALYSES: Starting pass manager 132 ; CHECK-ANALYSES: Running pass: RequireAnalysisPass 133 ; CHECK-ANALYSES: Running analysis: NoOpCGSCCAnalysis 134 ; CHECK-ANALYSES: Starting pass manager 135 ; CHECK-ANALYSES: Running pass: RequireAnalysisPass 136 ; CHECK-ANALYSES: Running analysis: NoOpFunctionAnalysis 137 138 ; Make sure no-op passes that preserve all analyses don't even try to do any 139 ; analysis invalidation. 140 ; RUN: opt -disable-output -debug-pass-manager \ 141 ; RUN: -passes='require<no-op-module>,cgscc(require<no-op-cgscc>,function(require<no-op-function>))' %s 2>&1 \ 142 ; RUN: | FileCheck %s --check-prefix=CHECK-NO-OP-INVALIDATION 143 ; CHECK-NO-OP-INVALIDATION: Starting pass manager 144 ; CHECK-NO-OP-INVALIDATION-NOT: Invalidating all non-preserved analyses 145 146 ; RUN: opt -disable-output -debug-pass-manager \ 147 ; RUN: -passes='require<no-op-module>,require<no-op-module>,require<no-op-module>' %s 2>&1 \ 148 ; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS 149 ; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Starting pass manager 150 ; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass 151 ; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis 152 ; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS-NOT: Running analysis: NoOpModuleAnalysis 153 154 ; RUN: opt -disable-output -debug-pass-manager \ 155 ; RUN: -passes='require<no-op-module>,invalidate<no-op-module>,require<no-op-module>' %s 2>&1 \ 156 ; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS 157 ; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Starting pass manager 158 ; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass 159 ; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis 160 ; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Invalidating analysis: NoOpModuleAnalysis 161 ; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis 162 163 ; RUN: opt -disable-output -debug-pass-manager \ 164 ; RUN: -passes='cgscc(require<no-op-cgscc>,require<no-op-cgscc>,require<no-op-cgscc>)' %s 2>&1 \ 165 ; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS 166 ; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Starting pass manager 167 ; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass 168 ; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis 169 ; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS-NOT: Running analysis: NoOpCGSCCAnalysis 170 171 ; RUN: opt -disable-output -debug-pass-manager \ 172 ; RUN: -passes='cgscc(require<no-op-cgscc>,invalidate<no-op-cgscc>,require<no-op-cgscc>)' %s 2>&1 \ 173 ; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS 174 ; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Starting pass manager 175 ; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass 176 ; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis 177 ; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Invalidating analysis: NoOpCGSCCAnalysis 178 ; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis 179 180 ; RUN: opt -disable-output -debug-pass-manager \ 181 ; RUN: -passes='function(require<no-op-function>,require<no-op-function>,require<no-op-function>)' %s 2>&1 \ 182 ; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS 183 ; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Starting pass manager 184 ; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass 185 ; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis 186 ; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS-NOT: Running analysis: NoOpFunctionAnalysis 187 188 ; RUN: opt -disable-output -debug-pass-manager \ 189 ; RUN: -passes='function(require<no-op-function>,invalidate<no-op-function>,require<no-op-function>)' %s 2>&1 \ 190 ; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS 191 ; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Starting pass manager 192 ; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass 193 ; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis 194 ; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Invalidating analysis: NoOpFunctionAnalysis 195 ; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis 196 197 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 198 ; RUN: -passes='require<no-op-module>,module(require<no-op-module>,function(require<no-op-function>,invalidate<all>,require<no-op-function>),require<no-op-module>),require<no-op-module>' %s 2>&1 \ 199 ; RUN: | FileCheck %s --check-prefix=CHECK-INVALIDATE-ALL 200 ; CHECK-INVALIDATE-ALL: Starting pass manager 201 ; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass 202 ; CHECK-INVALIDATE-ALL: Running analysis: NoOpModuleAnalysis 203 ; CHECK-INVALIDATE-ALL: Starting pass manager 204 ; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass 205 ; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpModuleAnalysis 206 ; CHECK-INVALIDATE-ALL: Starting pass manager 207 ; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass 208 ; CHECK-INVALIDATE-ALL: Running analysis: NoOpFunctionAnalysis 209 ; CHECK-INVALIDATE-ALL: Running pass: InvalidateAllAnalysesPass 210 ; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses 211 ; CHECK-INVALIDATE-ALL: Invalidating analysis: NoOpFunctionAnalysis 212 ; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass 213 ; CHECK-INVALIDATE-ALL: Running analysis: NoOpFunctionAnalysis 214 ; CHECK-INVALIDATE-ALL: Finished pass manager 215 ; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses 216 ; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpFunctionAnalysis 217 ; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses 218 ; CHECK-INVALIDATE-ALL: Invalidating analysis: NoOpModuleAnalysis 219 ; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass 220 ; CHECK-INVALIDATE-ALL: Running analysis: NoOpModuleAnalysis 221 ; CHECK-INVALIDATE-ALL: Finished pass manager 222 ; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses 223 ; CHECK-INVALIDATE-ALL-NOT: Invalidating analysis: NoOpModuleAnalysis 224 ; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass 225 ; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpModuleAnalysis 226 ; CHECK-INVALIDATE-ALL: Finished pass manager 227 228 ; RUN: opt -disable-output -disable-verify -debug-pass-manager \ 229 ; RUN: -passes='require<no-op-module>,module(require<no-op-module>,cgscc(require<no-op-cgscc>,function(require<no-op-function>,invalidate<all>,require<no-op-function>),require<no-op-cgscc>),require<no-op-module>),require<no-op-module>' %s 2>&1 \ 230 ; RUN: | FileCheck %s --check-prefix=CHECK-INVALIDATE-ALL-CG 231 ; CHECK-INVALIDATE-ALL-CG: Starting pass manager 232 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 233 ; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpModuleAnalysis 234 ; CHECK-INVALIDATE-ALL-CG: Starting pass manager 235 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 236 ; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpModuleAnalysis 237 ; CHECK-INVALIDATE-ALL-CG: Starting pass manager 238 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 239 ; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpCGSCCAnalysis 240 ; CHECK-INVALIDATE-ALL-CG: Starting pass manager 241 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 242 ; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpFunctionAnalysis 243 ; CHECK-INVALIDATE-ALL-CG: Running pass: InvalidateAllAnalysesPass 244 ; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses 245 ; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpFunctionAnalysis 246 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 247 ; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpFunctionAnalysis 248 ; CHECK-INVALIDATE-ALL-CG: Finished pass manager 249 ; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses 250 ; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpFunctionAnalysis 251 ; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses 252 ; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpCGSCCAnalysis 253 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 254 ; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpCGSCCAnalysis 255 ; CHECK-INVALIDATE-ALL-CG: Finished pass manager 256 ; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses 257 ; CHECK-INVALIDATE-ALL-CG-NOT: Invalidating analysis: NoOpCGSCCAnalysis 258 ; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses 259 ; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpModuleAnalysis 260 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 261 ; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpModuleAnalysis 262 ; CHECK-INVALIDATE-ALL-CG: Finished pass manager 263 ; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses 264 ; CHECK-INVALIDATE-ALL-CG-NOT: Invalidating analysis: NoOpModuleAnalysis 265 ; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass 266 ; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpModuleAnalysis 267 ; CHECK-INVALIDATE-ALL-CG: Finished pass manager 268 269 ; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \ 270 ; RUN: -passes='require<targetlibinfo>,invalidate<all>,require<targetlibinfo>' \ 271 ; RUN: | FileCheck %s --check-prefix=CHECK-TLI 272 ; CHECK-TLI: Starting pass manager 273 ; CHECK-TLI: Running pass: RequireAnalysisPass 274 ; CHECK-TLI: Running analysis: TargetLibraryAnalysis 275 ; CHECK-TLI: Running pass: InvalidateAllAnalysesPass 276 ; CHECK-TLI-NOT: Invalidating analysis: TargetLibraryAnalysis 277 ; CHECK-TLI: Running pass: RequireAnalysisPass 278 ; CHECK-TLI-NOT: Running analysis: TargetLibraryAnalysis 279 ; CHECK-TLI: Finished pass manager 280 281 ; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \ 282 ; RUN: -passes='require<targetir>,invalidate<all>,require<targetir>' \ 283 ; RUN: | FileCheck %s --check-prefix=CHECK-TIRA 284 ; CHECK-TIRA: Starting pass manager 285 ; CHECK-TIRA: Running pass: RequireAnalysisPass 286 ; CHECK-TIRA: Running analysis: TargetIRAnalysis 287 ; CHECK-TIRA: Running pass: InvalidateAllAnalysesPass 288 ; CHECK-TIRA-NOT: Invalidating analysis: TargetIRAnalysis 289 ; CHECK-TIRA: Running pass: RequireAnalysisPass 290 ; CHECK-TIRA-NOT: Running analysis: TargetIRAnalysis 291 ; CHECK-TIRA: Finished pass manager 292 293 ; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \ 294 ; RUN: -passes='require<domtree>' \ 295 ; RUN: | FileCheck %s --check-prefix=CHECK-DT 296 ; CHECK-DT: Starting pass manager 297 ; CHECK-DT: Running pass: RequireAnalysisPass 298 ; CHECK-DT: Running analysis: DominatorTreeAnalysis 299 ; CHECK-DT: Finished pass manager 300 301 define void @foo() { 302 ret void 303 } 304 305 declare void @bar() 306