blob: c50d4169760a8017e4f44c889dca431243f23bab [file] [log] [blame]
Chandler Carruth52eef882014-01-12 12:15:39 +00001; 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
Chandler Carruth703378f2015-01-13 22:45:13 +00008; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +00009; RUN: -passes=no-op-module %s 2>&1 \
10; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PASS
Chandler Carruth395fe572016-02-25 10:27:39 +000011; CHECK-MODULE-PASS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000012; CHECK-MODULE-PASS-NEXT: Running pass: NoOpModulePass
Chandler Carruth395fe572016-02-25 10:27:39 +000013; CHECK-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
Chandler Carruthea368f12015-01-06 08:37:58 +000014
Chandler Carruth703378f2015-01-13 22:45:13 +000015; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +000016; RUN: -passes=no-op-cgscc %s 2>&1 \
17; RUN: | FileCheck %s --check-prefix=CHECK-CGSCC-PASS
Chandler Carruth703378f2015-01-13 22:45:13 +000018; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +000019; RUN: -passes='cgscc(no-op-cgscc)' %s 2>&1 \
20; RUN: | FileCheck %s --check-prefix=CHECK-CGSCC-PASS
Chandler Carruth395fe572016-02-25 10:27:39 +000021; CHECK-CGSCC-PASS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000022; CHECK-CGSCC-PASS-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor
Chandler Carruth0d1d4952016-12-22 07:53:20 +000023; CHECK-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(CGSCCAnalysisManager|AnalysisManager<.*LazyCallGraph::SCC.*>).*}},{{.*}}Module>
24; CHECK-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(FunctionAnalysisManager|AnalysisManager<.*Function.*>).*}},{{.*}}Module>
Chandler Carruth3a634352016-02-26 11:44:45 +000025; CHECK-CGSCC-PASS-NEXT: Running analysis: LazyCallGraphAnalysis
Chandler Carruthdca83402016-06-27 23:26:08 +000026; CHECK-CGSCC-PASS-NEXT: Running an SCC pass across the RefSCC: [(foo)]
Chandler Carruth88823462016-08-24 09:37:14 +000027; CHECK-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000028; CHECK-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
Chandler Carruth88823462016-08-24 09:37:14 +000029; CHECK-CGSCC-PASS-NEXT: Finished CGSCC pass manager run
Chandler Carruth395fe572016-02-25 10:27:39 +000030; CHECK-CGSCC-PASS-NEXT: Finished llvm::Module pass manager run
Chandler Carruthea368f12015-01-06 08:37:58 +000031
Chandler Carruth703378f2015-01-13 22:45:13 +000032; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +000033; RUN: -passes=no-op-function %s 2>&1 \
34; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS
Chandler Carruth703378f2015-01-13 22:45:13 +000035; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +000036; RUN: -passes='function(no-op-function)' %s 2>&1 \
37; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS
Chandler Carruth395fe572016-02-25 10:27:39 +000038; CHECK-FUNCTION-PASS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000039; CHECK-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
Chandler Carruth30811a42016-02-27 11:07:16 +000040; CHECK-FUNCTION-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
Chandler Carruth395fe572016-02-25 10:27:39 +000041; CHECK-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000042; CHECK-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
Chandler Carruth395fe572016-02-25 10:27:39 +000043; CHECK-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
44; CHECK-FUNCTION-PASS-NEXT: Finished llvm::Module pass manager run
Chandler Carruthea368f12015-01-06 08:37:58 +000045
Chandler Carruth52eef882014-01-12 12:15:39 +000046; RUN: opt -disable-output -debug-pass-manager -passes=print %s 2>&1 \
47; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PRINT
Chandler Carruth395fe572016-02-25 10:27:39 +000048; CHECK-MODULE-PRINT: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000049; CHECK-MODULE-PRINT: Running pass: VerifierPass
50; CHECK-MODULE-PRINT: Running pass: PrintModulePass
Chandler Carruth52eef882014-01-12 12:15:39 +000051; CHECK-MODULE-PRINT: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000052; CHECK-MODULE-PRINT: define void @foo(i1 %x)
Chandler Carruth816702f2015-01-13 11:13:56 +000053; CHECK-MODULE-PRINT: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000054; CHECK-MODULE-PRINT: Finished llvm::Module pass manager run
Chandler Carruth52eef882014-01-12 12:15:39 +000055
Chandler Carruth9c31db42015-01-05 00:08:53 +000056; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='print,verify' %s 2>&1 \
57; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-VERIFY
Chandler Carruth395fe572016-02-25 10:27:39 +000058; CHECK-MODULE-VERIFY: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000059; CHECK-MODULE-VERIFY: Running pass: PrintModulePass
Chandler Carruth9c31db42015-01-05 00:08:53 +000060; CHECK-MODULE-VERIFY: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000061; CHECK-MODULE-VERIFY: define void @foo(i1 %x)
Chandler Carruth816702f2015-01-13 11:13:56 +000062; CHECK-MODULE-VERIFY: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000063; CHECK-MODULE-VERIFY: Finished llvm::Module pass manager run
Chandler Carruth9c31db42015-01-05 00:08:53 +000064
Chandler Carruth52eef882014-01-12 12:15:39 +000065; RUN: opt -disable-output -debug-pass-manager -passes='function(print)' %s 2>&1 \
66; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PRINT
Chandler Carruth395fe572016-02-25 10:27:39 +000067; CHECK-FUNCTION-PRINT: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000068; CHECK-FUNCTION-PRINT: Running pass: VerifierPass
69; CHECK-FUNCTION-PRINT: Running pass: ModuleToFunctionPassAdaptor
Chandler Carruth30811a42016-02-27 11:07:16 +000070; CHECK-FUNCTION-PRINT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
Chandler Carruth395fe572016-02-25 10:27:39 +000071; CHECK-FUNCTION-PRINT: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000072; CHECK-FUNCTION-PRINT: Running pass: PrintFunctionPass
Chandler Carruth52eef882014-01-12 12:15:39 +000073; CHECK-FUNCTION-PRINT-NOT: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000074; CHECK-FUNCTION-PRINT: define void @foo(i1 %x)
Chandler Carruth395fe572016-02-25 10:27:39 +000075; CHECK-FUNCTION-PRINT: Finished llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000076; CHECK-FUNCTION-PRINT: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000077; CHECK-FUNCTION-PRINT: Finished llvm::Module pass manager run
Chandler Carruth52eef882014-01-12 12:15:39 +000078
Chandler Carruth9c31db42015-01-05 00:08:53 +000079; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='function(print,verify)' %s 2>&1 \
80; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-VERIFY
Chandler Carruth395fe572016-02-25 10:27:39 +000081; CHECK-FUNCTION-VERIFY: Starting llvm::Module pass manager run
82; CHECK-FUNCTION-VERIFY: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000083; CHECK-FUNCTION-VERIFY: Running pass: PrintFunctionPass
Chandler Carruth9c31db42015-01-05 00:08:53 +000084; CHECK-FUNCTION-VERIFY-NOT: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000085; CHECK-FUNCTION-VERIFY: define void @foo(i1 %x)
Chandler Carruth816702f2015-01-13 11:13:56 +000086; CHECK-FUNCTION-VERIFY: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000087; CHECK-FUNCTION-VERIFY: Finished llvm::Function pass manager run
88; CHECK-FUNCTION-VERIFY: Finished llvm::Module pass manager run
Chandler Carruth9c31db42015-01-05 00:08:53 +000089
Chandler Carruthb353c3f2014-01-13 05:16:45 +000090; RUN: opt -S -o - -passes='no-op-module,no-op-module' %s \
91; RUN: | FileCheck %s --check-prefix=CHECK-NOOP
Chandler Carruth241bf242016-08-03 07:44:48 +000092; CHECK-NOOP: define void @foo(i1 %x) {
93; CHECK-NOOP: entry:
94; CHECK-NOOP: br i1 %x, label %loop, label %exit
95; CHECK-NOOP: loop:
96; CHECK-NOOP: br label %loop
97; CHECK-NOOP: exit:
Chandler Carruthb353c3f2014-01-13 05:16:45 +000098; CHECK-NOOP: ret void
99; CHECK-NOOP: }
100
Chandler Carruthb7bdfd62014-01-13 07:38:24 +0000101; Round trip through bitcode.
102; RUN: opt -f -o - -passes='no-op-module,no-op-module' %s \
103; RUN: | llvm-dis \
104; RUN: | FileCheck %s --check-prefix=CHECK-NOOP
105
Chandler Carruth4d356312014-01-20 11:34:08 +0000106; RUN: opt -disable-output -debug-pass-manager -verify-each -passes='no-op-module,function(no-op-function)' %s 2>&1 \
107; RUN: | FileCheck %s --check-prefix=CHECK-VERIFY-EACH
Chandler Carruth395fe572016-02-25 10:27:39 +0000108; CHECK-VERIFY-EACH: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000109; CHECK-VERIFY-EACH: Running pass: VerifierPass
110; CHECK-VERIFY-EACH: Running pass: NoOpModulePass
111; CHECK-VERIFY-EACH: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000112; CHECK-VERIFY-EACH: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000113; CHECK-VERIFY-EACH: Running pass: NoOpFunctionPass
114; CHECK-VERIFY-EACH: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000115; CHECK-VERIFY-EACH: Finished llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000116; CHECK-VERIFY-EACH: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000117; CHECK-VERIFY-EACH: Finished llvm::Module pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000118
119; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='no-op-module,function(no-op-function)' %s 2>&1 \
120; RUN: | FileCheck %s --check-prefix=CHECK-NO-VERIFY
Chandler Carruth395fe572016-02-25 10:27:39 +0000121; CHECK-NO-VERIFY: Starting llvm::Module pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000122; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth816702f2015-01-13 11:13:56 +0000123; CHECK-NO-VERIFY: Running pass: NoOpModulePass
Chandler Carruth4d356312014-01-20 11:34:08 +0000124; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000125; CHECK-NO-VERIFY: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000126; CHECK-NO-VERIFY: Running pass: NoOpFunctionPass
Chandler Carruth4d356312014-01-20 11:34:08 +0000127; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000128; CHECK-NO-VERIFY: Finished llvm::Function pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000129; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000130; CHECK-NO-VERIFY: Finished llvm::Module pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000131
Chandler Carruth703378f2015-01-13 22:45:13 +0000132; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth0b576b32015-01-06 02:50:06 +0000133; RUN: -passes='require<no-op-module>,cgscc(require<no-op-cgscc>,function(require<no-op-function>))' %s 2>&1 \
134; RUN: | FileCheck %s --check-prefix=CHECK-ANALYSES
Chandler Carruth395fe572016-02-25 10:27:39 +0000135; CHECK-ANALYSES: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000136; CHECK-ANALYSES: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000137; CHECK-ANALYSES: Running analysis: NoOpModuleAnalysis
Chandler Carruth88823462016-08-24 09:37:14 +0000138; CHECK-ANALYSES: Starting CGSCC pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000139; CHECK-ANALYSES: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000140; CHECK-ANALYSES: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000141; CHECK-ANALYSES: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000142; CHECK-ANALYSES: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000143; CHECK-ANALYSES: Running analysis: NoOpFunctionAnalysis
Chandler Carruthe5e8fb32015-01-05 12:21:44 +0000144
Chandler Carruth539dc4b2015-01-05 12:32:11 +0000145; Make sure no-op passes that preserve all analyses don't even try to do any
146; analysis invalidation.
Chandler Carruth703378f2015-01-13 22:45:13 +0000147; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth0b576b32015-01-06 02:50:06 +0000148; RUN: -passes='require<no-op-module>,cgscc(require<no-op-cgscc>,function(require<no-op-function>))' %s 2>&1 \
Chandler Carruth539dc4b2015-01-05 12:32:11 +0000149; RUN: | FileCheck %s --check-prefix=CHECK-NO-OP-INVALIDATION
Chandler Carruth395fe572016-02-25 10:27:39 +0000150; CHECK-NO-OP-INVALIDATION: Starting llvm::Module pass manager run
Chandler Carruth539dc4b2015-01-05 12:32:11 +0000151; CHECK-NO-OP-INVALIDATION-NOT: Invalidating all non-preserved analyses
152
Chandler Carruth703378f2015-01-13 22:45:13 +0000153; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000154; RUN: -passes='require<no-op-module>,require<no-op-module>,require<no-op-module>' %s 2>&1 \
155; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000156; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000157; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000158; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis
159; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000160
Chandler Carruth703378f2015-01-13 22:45:13 +0000161; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000162; RUN: -passes='require<no-op-module>,invalidate<no-op-module>,require<no-op-module>' %s 2>&1 \
163; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000164; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000165; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000166; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis
167; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Invalidating analysis: NoOpModuleAnalysis
168; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000169
Chandler Carruth703378f2015-01-13 22:45:13 +0000170; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000171; RUN: -passes='cgscc(require<no-op-cgscc>,require<no-op-cgscc>,require<no-op-cgscc>)' %s 2>&1 \
172; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000173; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000174; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000175; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis
176; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS-NOT: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000177
Chandler Carruth703378f2015-01-13 22:45:13 +0000178; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000179; RUN: -passes='cgscc(require<no-op-cgscc>,invalidate<no-op-cgscc>,require<no-op-cgscc>)' %s 2>&1 \
180; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000181; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000182; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000183; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis
184; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Invalidating analysis: NoOpCGSCCAnalysis
185; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000186
Chandler Carruth703378f2015-01-13 22:45:13 +0000187; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000188; RUN: -passes='function(require<no-op-function>,require<no-op-function>,require<no-op-function>)' %s 2>&1 \
189; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000190; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000191; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000192; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis
193; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS-NOT: Running analysis: NoOpFunctionAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000194
Chandler Carruth703378f2015-01-13 22:45:13 +0000195; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000196; RUN: -passes='function(require<no-op-function>,invalidate<no-op-function>,require<no-op-function>)' %s 2>&1 \
197; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000198; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000199; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000200; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis
201; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Invalidating analysis: NoOpFunctionAnalysis
202; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000203
Chandler Carruth703378f2015-01-13 22:45:13 +0000204; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthfdb41802015-01-07 01:58:35 +0000205; 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 \
Chandler Carruth4e107caf2015-01-06 09:06:35 +0000206; RUN: | FileCheck %s --check-prefix=CHECK-INVALIDATE-ALL
Chandler Carruth395fe572016-02-25 10:27:39 +0000207; CHECK-INVALIDATE-ALL: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000208; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000209; CHECK-INVALIDATE-ALL: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000210; CHECK-INVALIDATE-ALL: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000211; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000212; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000213; CHECK-INVALIDATE-ALL: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000214; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000215; CHECK-INVALIDATE-ALL: Running analysis: NoOpFunctionAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000216; CHECK-INVALIDATE-ALL: Running pass: InvalidateAllAnalysesPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000217; CHECK-INVALIDATE-ALL: Invalidating analysis: NoOpFunctionAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000218; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000219; CHECK-INVALIDATE-ALL: Running analysis: NoOpFunctionAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000220; CHECK-INVALIDATE-ALL: Finished llvm::Function pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000221; CHECK-INVALIDATE-ALL: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000222; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000223; CHECK-INVALIDATE-ALL: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000224; CHECK-INVALIDATE-ALL: Finished llvm::Module pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000225; CHECK-INVALIDATE-ALL-NOT: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000226; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000227; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000228; CHECK-INVALIDATE-ALL: Finished llvm::Module pass manager run
Chandler Carruthfdb41802015-01-07 01:58:35 +0000229
Chandler Carruth703378f2015-01-13 22:45:13 +0000230; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthfdb41802015-01-07 01:58:35 +0000231; 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 \
232; RUN: | FileCheck %s --check-prefix=CHECK-INVALIDATE-ALL-CG
Chandler Carruth395fe572016-02-25 10:27:39 +0000233; CHECK-INVALIDATE-ALL-CG: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000234; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000235; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000236; CHECK-INVALIDATE-ALL-CG: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000237; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000238; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth88823462016-08-24 09:37:14 +0000239; CHECK-INVALIDATE-ALL-CG: Starting CGSCC pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000240; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000241; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000242; CHECK-INVALIDATE-ALL-CG: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000243; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000244; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpFunctionAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000245; CHECK-INVALIDATE-ALL-CG: Running pass: InvalidateAllAnalysesPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000246; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpFunctionAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000247; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000248; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpFunctionAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000249; CHECK-INVALIDATE-ALL-CG: Finished llvm::Function pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000250; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpFunctionAnalysis
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000251; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpCGSCCAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000252; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000253; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth88823462016-08-24 09:37:14 +0000254; CHECK-INVALIDATE-ALL-CG: Finished CGSCC pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000255; CHECK-INVALIDATE-ALL-CG-NOT: Invalidating analysis: NoOpCGSCCAnalysis
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000256; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000257; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000258; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000259; CHECK-INVALIDATE-ALL-CG: Finished llvm::Module pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000260; CHECK-INVALIDATE-ALL-CG-NOT: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000261; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000262; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000263; CHECK-INVALIDATE-ALL-CG: Finished llvm::Module pass manager run
Chandler Carruth4e107caf2015-01-06 09:06:35 +0000264
Chandler Carruth8ca43222015-01-15 11:39:46 +0000265; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
266; RUN: -passes='require<targetlibinfo>,invalidate<all>,require<targetlibinfo>' \
267; RUN: | FileCheck %s --check-prefix=CHECK-TLI
Chandler Carruth395fe572016-02-25 10:27:39 +0000268; CHECK-TLI: Starting llvm::Module pass manager run
Chandler Carruth8ca43222015-01-15 11:39:46 +0000269; CHECK-TLI: Running pass: RequireAnalysisPass
270; CHECK-TLI: Running analysis: TargetLibraryAnalysis
271; CHECK-TLI: Running pass: InvalidateAllAnalysesPass
272; CHECK-TLI-NOT: Invalidating analysis: TargetLibraryAnalysis
273; CHECK-TLI: Running pass: RequireAnalysisPass
274; CHECK-TLI-NOT: Running analysis: TargetLibraryAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000275; CHECK-TLI: Finished llvm::Module pass manager run
Chandler Carruth8ca43222015-01-15 11:39:46 +0000276
Chandler Carruthe0385522015-02-01 10:11:22 +0000277; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
278; RUN: -passes='require<targetir>,invalidate<all>,require<targetir>' \
279; RUN: | FileCheck %s --check-prefix=CHECK-TIRA
Chandler Carruth395fe572016-02-25 10:27:39 +0000280; CHECK-TIRA: Starting llvm::Module pass manager run
Chandler Carruthe0385522015-02-01 10:11:22 +0000281; CHECK-TIRA: Running pass: RequireAnalysisPass
282; CHECK-TIRA: Running analysis: TargetIRAnalysis
283; CHECK-TIRA: Running pass: InvalidateAllAnalysesPass
284; CHECK-TIRA-NOT: Invalidating analysis: TargetIRAnalysis
285; CHECK-TIRA: Running pass: RequireAnalysisPass
286; CHECK-TIRA-NOT: Running analysis: TargetIRAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000287; CHECK-TIRA: Finished llvm::Module pass manager run
Chandler Carruthe0385522015-02-01 10:11:22 +0000288
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000289; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
290; RUN: -passes='require<domtree>' \
291; RUN: | FileCheck %s --check-prefix=CHECK-DT
Chandler Carruth395fe572016-02-25 10:27:39 +0000292; CHECK-DT: Starting llvm::Module pass manager run
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000293; CHECK-DT: Running pass: RequireAnalysisPass
294; CHECK-DT: Running analysis: DominatorTreeAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000295; CHECK-DT: Finished llvm::Module pass manager run
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000296
Chandler Carruth6f5770b102016-02-13 23:32:00 +0000297; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
Chandler Carruthbece8d52016-02-13 23:46:24 +0000298; RUN: -passes='require<basic-aa>' \
299; RUN: | FileCheck %s --check-prefix=CHECK-BASIC-AA
Chandler Carruth395fe572016-02-25 10:27:39 +0000300; CHECK-BASIC-AA: Starting llvm::Module pass manager run
Chandler Carruthbece8d52016-02-13 23:46:24 +0000301; CHECK-BASIC-AA: Running pass: RequireAnalysisPass
302; CHECK-BASIC-AA: Running analysis: BasicAA
Chandler Carruth395fe572016-02-25 10:27:39 +0000303; CHECK-BASIC-AA: Finished llvm::Module pass manager run
Chandler Carruthbece8d52016-02-13 23:46:24 +0000304
Chandler Carruthedf59962016-02-18 09:45:17 +0000305; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
306; RUN: -passes='require<aa>' -aa-pipeline='basic-aa' \
307; RUN: | FileCheck %s --check-prefix=CHECK-AA
Chandler Carruth395fe572016-02-25 10:27:39 +0000308; CHECK-AA: Starting llvm::Module pass manager run
Chandler Carruthedf59962016-02-18 09:45:17 +0000309; CHECK-AA: Running pass: RequireAnalysisPass
310; CHECK-AA: Running analysis: AAManager
311; CHECK-AA: Running analysis: BasicAA
Chandler Carruth395fe572016-02-25 10:27:39 +0000312; CHECK-AA: Finished llvm::Module pass manager run
Chandler Carruthedf59962016-02-18 09:45:17 +0000313
Chandler Carruth61440d22016-03-10 00:55:30 +0000314; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
Chandler Carruth060ad612016-12-23 20:38:19 +0000315; RUN: -passes='require<aa>' -aa-pipeline='default' \
316; RUN: | FileCheck %s --check-prefix=CHECK-AA-DEFAULT
317; CHECK-AA-DEFAULT: Starting llvm::Module pass manager run
318; CHECK-AA-DEFAULT: Running pass: RequireAnalysisPass
319; CHECK-AA-DEFAULT: Running analysis: AAManager
320; CHECK-AA-DEFAULT: Running analysis: BasicAA
321; CHECK-AA-DEFAULT: Running analysis: ScopedNoAliasAA
322; CHECK-AA-DEFAULT: Running analysis: TypeBasedAA
323; CHECK-AA-DEFAULT: Finished llvm::Module pass manager run
324
325; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
Chandler Carruth61440d22016-03-10 00:55:30 +0000326; RUN: -passes='require<memdep>' \
327; RUN: | FileCheck %s --check-prefix=CHECK-MEMDEP
328; CHECK-MEMDEP: Starting llvm::Module pass manager run
329; CHECK-MEMDEP: Running pass: RequireAnalysisPass
330; CHECK-MEMDEP: Running analysis: MemoryDependenceAnalysis
331; CHECK-MEMDEP: Finished llvm::Module pass manager run
332
Chandler Carruth4c660f72016-03-10 11:24:11 +0000333; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
334; RUN: -passes='require<callgraph>' \
335; RUN: | FileCheck %s --check-prefix=CHECK-CALLGRAPH
336; CHECK-CALLGRAPH: Starting llvm::Module pass manager run
337; CHECK-CALLGRAPH: Running pass: RequireAnalysisPass
338; CHECK-CALLGRAPH: Running analysis: CallGraphAnalysis
339; CHECK-CALLGRAPH: Finished llvm::Module pass manager run
340
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000341; RUN: opt -disable-output -disable-verify -debug-pass-manager \
342; RUN: -passes='default<O0>' %s 2>&1 \
Chandler Carruthe3f50642016-12-22 06:59:15 +0000343; RUN: | FileCheck %s --check-prefix=CHECK-O0
344; CHECK-O0: Starting llvm::Module pass manager run
345; CHECK-O0-NEXT: Finished llvm::Module pass manager run
346
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000347; RUN: opt -disable-output -disable-verify -debug-pass-manager \
348; RUN: -passes='default<O1>' %s 2>&1 \
Chandler Carruthe3f50642016-12-22 06:59:15 +0000349; RUN: | FileCheck %s --check-prefix=CHECK-O --check-prefix=CHECK-O1
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000350; RUN: opt -disable-output -disable-verify -debug-pass-manager \
351; RUN: -passes='default<O2>' %s 2>&1 \
Chandler Carruthe3f50642016-12-22 06:59:15 +0000352; RUN: | FileCheck %s --check-prefix=CHECK-O --check-prefix=CHECK-O2
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000353; RUN: opt -disable-output -disable-verify -debug-pass-manager \
354; RUN: -passes='default<Os>' %s 2>&1 \
Chandler Carruthe3f50642016-12-22 06:59:15 +0000355; RUN: | FileCheck %s --check-prefix=CHECK-O --check-prefix=CHECK-Os
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000356; RUN: opt -disable-output -disable-verify -debug-pass-manager \
357; RUN: -passes='default<Oz>' %s 2>&1 \
Chandler Carruthe3f50642016-12-22 06:59:15 +0000358; RUN: | FileCheck %s --check-prefix=CHECK-O --check-prefix=CHECK-Oz
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000359; RUN: opt -disable-output -disable-verify -debug-pass-manager \
360; RUN: -passes='lto-pre-link<O2>' %s 2>&1 \
Chandler Carruthe3f50642016-12-22 06:59:15 +0000361; RUN: | FileCheck %s --check-prefix=CHECK-O --check-prefix=CHECK-O2
362; CHECK-O: Starting llvm::Module pass manager run
363; CHECK-O: Starting llvm::Module pass manager run
364; CHECK-O: Running pass: ForceFunctionAttrsPass
365; CHECK-O: Running pass: InferFunctionAttrsPass
366; CHECK-O: Starting llvm::Function pass manager run.
367; CHECK-O: Running pass: SimplifyCFGPass
368; CHECK-O: Running pass: SROA
369; CHECK-O: Running pass: EarlyCSEPass
370; CHECK-O: Running pass: LowerExpectIntrinsicPass
371; CHECK-O: Running pass: GVNHoistPass
372; CHECK-O: Finished llvm::Function pass manager run.
373; CHECK-O: Running pass: IPSCCPPass
374; CHECK-O: Running pass: GlobalOptPass
375; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
376; CHECK-O: Running pass: DeadArgumentEliminationPass
377; CHECK-O: Starting llvm::Function pass manager run.
378; CHECK-O: Running pass: InstCombinePass
379; CHECK-O: Running pass: SimplifyCFGPass
380; CHECK-O: Finished llvm::Function pass manager run.
381; CHECK-O: Starting CGSCC pass manager run.
382; CHECK-O: Starting llvm::Function pass manager run.
383; CHECK-O: Running pass: SROA
384; CHECK-O: Running pass: EarlyCSEPass
385; CHECK-O: Running pass: SpeculativeExecutionPass
386; CHECK-O: Running pass: JumpThreadingPass
387; CHECK-O: Running pass: CorrelatedValuePropagationPass
388; CHECK-O: Running pass: SimplifyCFGPass
389; CHECK-O: Running pass: InstCombinePass
390; CHECK-O1: Running pass: LibCallsShrinkWrapPass
391; CHECK-O2: Running pass: LibCallsShrinkWrapPass
392; CHECK-Os-NOT: Running pass: LibCallsShrinkWrapPass
393; CHECK-Oz-NOT: Running pass: LibCallsShrinkWrapPass
394; CHECK-O: Running pass: TailCallElimPass
395; CHECK-O: Running pass: SimplifyCFGPass
396; CHECK-O: Running pass: ReassociatePass
397; CHECK-O: Starting llvm::Loop pass manager run.
398; CHECK-O: Running pass: LoopRotatePass
399; CHECK-O: Running pass: LICMPass
400; CHECK-O: Finished llvm::Loop pass manager run.
401; CHECK-O: Running pass: SimplifyCFGPass
402; CHECK-O: Running pass: InstCombinePass
403; CHECK-O: Starting llvm::Loop pass manager run.
404; CHECK-O: Finished llvm::Loop pass manager run.
405; CHECK-O: Running pass: MemCpyOptPass
406; CHECK-O: Running pass: SCCPPass
407; CHECK-O: Running pass: BDCEPass
408; CHECK-O: Running pass: InstCombinePass
409; CHECK-O: Running pass: JumpThreadingPass
410; CHECK-O: Running pass: CorrelatedValuePropagationPass
411; CHECK-O: Running pass: DSEPass
412; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass>
413; CHECK-O: Running pass: ADCEPass
414; CHECK-O: Running pass: SimplifyCFGPass
415; CHECK-O: Running pass: InstCombinePass
416; CHECK-O: Finished llvm::Function pass manager run.
417; CHECK-O: Finished CGSCC pass manager run.
418; CHECK-O: Running pass: EliminateAvailableExternallyPass
419; CHECK-O: Running pass: ReversePostOrderFunctionAttrsPass
420; CHECK-O: Starting llvm::Function pass manager run.
421; CHECK-O: Running pass: Float2IntPass
422; CHECK-O: Running pass: LoopDistributePass
423; CHECK-O: Running pass: LoopVectorizePass
424; CHECK-O: Running pass: InstCombinePass
425; CHECK-O: Running pass: SLPVectorizerPass
426; CHECK-O: Running pass: SimplifyCFGPass
427; CHECK-O: Running pass: InstCombinePass
428; CHECK-O: Running pass: AlignmentFromAssumptionsPass
429; CHECK-O: Finished llvm::Function pass manager run.
430; CHECK-O: Running pass: GlobalDCEPass
431; CHECK-O: Running pass: ConstantMergePass
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000432
433; RUN: opt -disable-output -disable-verify -debug-pass-manager \
434; RUN: -passes='lto<O2>' %s 2>&1 \
435; RUN: | FileCheck %s --check-prefix=CHECK-LTO-O2
436; CHECK-LTO-O2: Starting llvm::Module pass manager run
437; CHECK-LTO-O2: Running pass: InstCombinePass
438; CHECK-LTO-O2: Running pass: SimplifyCFGPass
439
Chandler Carruth241bf242016-08-03 07:44:48 +0000440; RUN: opt -disable-output -disable-verify -debug-pass-manager \
441; RUN: -passes='repeat<3>(no-op-module)' %s 2>&1 \
442; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-MODULE-PASS
443; CHECK-REPEAT-MODULE-PASS: Starting llvm::Module pass manager run
Chandler Carrutha053a882016-08-04 03:52:53 +0000444; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: RepeatedPass
Chandler Carruth241bf242016-08-03 07:44:48 +0000445; CHECK-REPEAT-MODULE-PASS-NEXT: Starting llvm::Module pass manager run
446; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: NoOpModulePass
447; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
448; CHECK-REPEAT-MODULE-PASS-NEXT: Starting llvm::Module pass manager run
449; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: NoOpModulePass
450; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
451; CHECK-REPEAT-MODULE-PASS-NEXT: Starting llvm::Module pass manager run
452; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: NoOpModulePass
453; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
454; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
455
456; RUN: opt -disable-output -disable-verify -debug-pass-manager \
457; RUN: -passes='cgscc(repeat<3>(no-op-cgscc))' %s 2>&1 \
458; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-CGSCC-PASS
459; CHECK-REPEAT-CGSCC-PASS: Starting llvm::Module pass manager run
460; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor
Chandler Carruth0d1d4952016-12-22 07:53:20 +0000461; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(CGSCCAnalysisManager|AnalysisManager<.*LazyCallGraph::SCC.*>).*}},{{.*}}Module>
462; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(FunctionAnalysisManager|AnalysisManager<.*Function.*>).*}},{{.*}}Module>
Chandler Carruth241bf242016-08-03 07:44:48 +0000463; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: LazyCallGraphAnalysis
464; CHECK-REPEAT-CGSCC-PASS-NEXT: Running an SCC pass across the RefSCC: [(foo)]
Chandler Carruth88823462016-08-24 09:37:14 +0000465; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
Chandler Carrutha053a882016-08-04 03:52:53 +0000466; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: RepeatedPass
Chandler Carruth88823462016-08-24 09:37:14 +0000467; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
Chandler Carruth241bf242016-08-03 07:44:48 +0000468; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
Chandler Carruth88823462016-08-24 09:37:14 +0000469; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished CGSCC pass manager run
470; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
Chandler Carruth241bf242016-08-03 07:44:48 +0000471; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
Chandler Carruth88823462016-08-24 09:37:14 +0000472; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished CGSCC pass manager run
473; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
Chandler Carruth241bf242016-08-03 07:44:48 +0000474; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
Chandler Carruth88823462016-08-24 09:37:14 +0000475; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished CGSCC pass manager run
476; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished CGSCC pass manager run
Chandler Carruth241bf242016-08-03 07:44:48 +0000477; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished llvm::Module pass manager run
478
479; RUN: opt -disable-output -disable-verify -debug-pass-manager \
480; RUN: -passes='function(repeat<3>(no-op-function))' %s 2>&1 \
481; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-FUNCTION-PASS
482; CHECK-REPEAT-FUNCTION-PASS: Starting llvm::Module pass manager run
483; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
484; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
485; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
Chandler Carrutha053a882016-08-04 03:52:53 +0000486; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: RepeatedPass
Chandler Carruth241bf242016-08-03 07:44:48 +0000487; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
488; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
489; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
490; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
491; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
492; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
493; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
494; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
495; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
496; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
497; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Module pass manager run
498
499; RUN: opt -disable-output -disable-verify -debug-pass-manager \
500; RUN: -passes='loop(repeat<3>(no-op-loop))' %s 2>&1 \
501; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-LOOP-PASS
502; CHECK-REPEAT-LOOP-PASS: Starting llvm::Module pass manager run
503; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
504; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
505; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Function pass manager run
506; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: FunctionToLoopPassAdaptor
507; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
508; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: LoopAnalysis
509; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: DominatorTreeAnalysis
Chandler Carruthe3f50642016-12-22 06:59:15 +0000510; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: AAManager
511; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: TargetLibraryAnalysis
512; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: ScalarEvolutionAnalysis
513; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: AssumptionAnalysis
Chandler Carruth241bf242016-08-03 07:44:48 +0000514; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
Chandler Carrutha053a882016-08-04 03:52:53 +0000515; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: RepeatedPass
Chandler Carruth241bf242016-08-03 07:44:48 +0000516; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
517; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
518; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
519; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
520; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
521; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
522; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
523; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
524; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
525; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
526; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Function pass manager run
527; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Module pass manager run
528
529define void @foo(i1 %x) {
530entry:
531 br i1 %x, label %loop, label %exit
532
533loop:
534 br label %loop
535
536exit:
Chandler Carruth52eef882014-01-12 12:15:39 +0000537 ret void
538}
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000539
540declare void @bar()