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