blob: 13197a19409419a6975f1af38c5983d05a62c4c5 [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 Carruth30811a42016-02-27 11:07:16 +000023; CHECK-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
Chandler Carruth3a634352016-02-26 11:44:45 +000024; CHECK-CGSCC-PASS-NEXT: Running analysis: LazyCallGraphAnalysis
Chandler Carruthdca83402016-06-27 23:26:08 +000025; CHECK-CGSCC-PASS-NEXT: Running an SCC pass across the RefSCC: [(foo)]
Chandler Carruth395fe572016-02-25 10:27:39 +000026; CHECK-CGSCC-PASS-NEXT: Starting llvm::LazyCallGraph::SCC pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000027; CHECK-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
Chandler Carruth395fe572016-02-25 10:27:39 +000028; CHECK-CGSCC-PASS-NEXT: Finished llvm::LazyCallGraph::SCC pass manager run
29; CHECK-CGSCC-PASS-NEXT: Finished llvm::Module pass manager run
Chandler Carruthea368f12015-01-06 08:37:58 +000030
Chandler Carruth703378f2015-01-13 22:45:13 +000031; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +000032; RUN: -passes=no-op-function %s 2>&1 \
33; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS
Chandler Carruth703378f2015-01-13 22:45:13 +000034; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthea368f12015-01-06 08:37:58 +000035; RUN: -passes='function(no-op-function)' %s 2>&1 \
36; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS
Chandler Carruth395fe572016-02-25 10:27:39 +000037; CHECK-FUNCTION-PASS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000038; CHECK-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
Chandler Carruth30811a42016-02-27 11:07:16 +000039; CHECK-FUNCTION-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
Chandler Carruth395fe572016-02-25 10:27:39 +000040; CHECK-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000041; CHECK-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
Chandler Carruth395fe572016-02-25 10:27:39 +000042; CHECK-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
43; CHECK-FUNCTION-PASS-NEXT: Finished llvm::Module pass manager run
Chandler Carruthea368f12015-01-06 08:37:58 +000044
Chandler Carruth52eef882014-01-12 12:15:39 +000045; RUN: opt -disable-output -debug-pass-manager -passes=print %s 2>&1 \
46; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PRINT
Chandler Carruth395fe572016-02-25 10:27:39 +000047; CHECK-MODULE-PRINT: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000048; CHECK-MODULE-PRINT: Running pass: VerifierPass
49; CHECK-MODULE-PRINT: Running pass: PrintModulePass
Chandler Carruth52eef882014-01-12 12:15:39 +000050; CHECK-MODULE-PRINT: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000051; CHECK-MODULE-PRINT: define void @foo(i1 %x)
Chandler Carruth816702f2015-01-13 11:13:56 +000052; CHECK-MODULE-PRINT: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000053; CHECK-MODULE-PRINT: Finished llvm::Module pass manager run
Chandler Carruth52eef882014-01-12 12:15:39 +000054
Chandler Carruth9c31db42015-01-05 00:08:53 +000055; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='print,verify' %s 2>&1 \
56; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-VERIFY
Chandler Carruth395fe572016-02-25 10:27:39 +000057; CHECK-MODULE-VERIFY: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000058; CHECK-MODULE-VERIFY: Running pass: PrintModulePass
Chandler Carruth9c31db42015-01-05 00:08:53 +000059; CHECK-MODULE-VERIFY: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000060; CHECK-MODULE-VERIFY: define void @foo(i1 %x)
Chandler Carruth816702f2015-01-13 11:13:56 +000061; CHECK-MODULE-VERIFY: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000062; CHECK-MODULE-VERIFY: Finished llvm::Module pass manager run
Chandler Carruth9c31db42015-01-05 00:08:53 +000063
Chandler Carruth52eef882014-01-12 12:15:39 +000064; RUN: opt -disable-output -debug-pass-manager -passes='function(print)' %s 2>&1 \
65; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PRINT
Chandler Carruth395fe572016-02-25 10:27:39 +000066; CHECK-FUNCTION-PRINT: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000067; CHECK-FUNCTION-PRINT: Running pass: VerifierPass
68; CHECK-FUNCTION-PRINT: Running pass: ModuleToFunctionPassAdaptor
Chandler Carruth30811a42016-02-27 11:07:16 +000069; CHECK-FUNCTION-PRINT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
Chandler Carruth395fe572016-02-25 10:27:39 +000070; CHECK-FUNCTION-PRINT: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000071; CHECK-FUNCTION-PRINT: Running pass: PrintFunctionPass
Chandler Carruth52eef882014-01-12 12:15:39 +000072; CHECK-FUNCTION-PRINT-NOT: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000073; CHECK-FUNCTION-PRINT: define void @foo(i1 %x)
Chandler Carruth395fe572016-02-25 10:27:39 +000074; CHECK-FUNCTION-PRINT: Finished llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000075; CHECK-FUNCTION-PRINT: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000076; CHECK-FUNCTION-PRINT: Finished llvm::Module pass manager run
Chandler Carruth52eef882014-01-12 12:15:39 +000077
Chandler Carruth9c31db42015-01-05 00:08:53 +000078; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='function(print,verify)' %s 2>&1 \
79; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-VERIFY
Chandler Carruth395fe572016-02-25 10:27:39 +000080; CHECK-FUNCTION-VERIFY: Starting llvm::Module pass manager run
81; CHECK-FUNCTION-VERIFY: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +000082; CHECK-FUNCTION-VERIFY: Running pass: PrintFunctionPass
Chandler Carruth9c31db42015-01-05 00:08:53 +000083; CHECK-FUNCTION-VERIFY-NOT: ModuleID
Chandler Carruth241bf242016-08-03 07:44:48 +000084; CHECK-FUNCTION-VERIFY: define void @foo(i1 %x)
Chandler Carruth816702f2015-01-13 11:13:56 +000085; CHECK-FUNCTION-VERIFY: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +000086; CHECK-FUNCTION-VERIFY: Finished llvm::Function pass manager run
87; CHECK-FUNCTION-VERIFY: Finished llvm::Module pass manager run
Chandler Carruth9c31db42015-01-05 00:08:53 +000088
Chandler Carruthb353c3f2014-01-13 05:16:45 +000089; RUN: opt -S -o - -passes='no-op-module,no-op-module' %s \
90; RUN: | FileCheck %s --check-prefix=CHECK-NOOP
Chandler Carruth241bf242016-08-03 07:44:48 +000091; CHECK-NOOP: define void @foo(i1 %x) {
92; CHECK-NOOP: entry:
93; CHECK-NOOP: br i1 %x, label %loop, label %exit
94; CHECK-NOOP: loop:
95; CHECK-NOOP: br label %loop
96; CHECK-NOOP: exit:
Chandler Carruthb353c3f2014-01-13 05:16:45 +000097; CHECK-NOOP: ret void
98; CHECK-NOOP: }
99
Chandler Carruthb7bdfd62014-01-13 07:38:24 +0000100; Round trip through bitcode.
101; RUN: opt -f -o - -passes='no-op-module,no-op-module' %s \
102; RUN: | llvm-dis \
103; RUN: | FileCheck %s --check-prefix=CHECK-NOOP
104
Chandler Carruth4d356312014-01-20 11:34:08 +0000105; RUN: opt -disable-output -debug-pass-manager -verify-each -passes='no-op-module,function(no-op-function)' %s 2>&1 \
106; RUN: | FileCheck %s --check-prefix=CHECK-VERIFY-EACH
Chandler Carruth395fe572016-02-25 10:27:39 +0000107; CHECK-VERIFY-EACH: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000108; CHECK-VERIFY-EACH: Running pass: VerifierPass
109; CHECK-VERIFY-EACH: Running pass: NoOpModulePass
110; CHECK-VERIFY-EACH: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000111; CHECK-VERIFY-EACH: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000112; CHECK-VERIFY-EACH: Running pass: NoOpFunctionPass
113; CHECK-VERIFY-EACH: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000114; CHECK-VERIFY-EACH: Finished llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000115; CHECK-VERIFY-EACH: Running pass: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000116; CHECK-VERIFY-EACH: Finished llvm::Module pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000117
118; RUN: opt -disable-output -debug-pass-manager -disable-verify -passes='no-op-module,function(no-op-function)' %s 2>&1 \
119; RUN: | FileCheck %s --check-prefix=CHECK-NO-VERIFY
Chandler Carruth395fe572016-02-25 10:27:39 +0000120; CHECK-NO-VERIFY: Starting llvm::Module pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000121; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth816702f2015-01-13 11:13:56 +0000122; CHECK-NO-VERIFY: Running pass: NoOpModulePass
Chandler Carruth4d356312014-01-20 11:34:08 +0000123; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000124; CHECK-NO-VERIFY: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000125; CHECK-NO-VERIFY: Running pass: NoOpFunctionPass
Chandler Carruth4d356312014-01-20 11:34:08 +0000126; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000127; CHECK-NO-VERIFY: Finished llvm::Function pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000128; CHECK-NO-VERIFY-NOT: VerifierPass
Chandler Carruth395fe572016-02-25 10:27:39 +0000129; CHECK-NO-VERIFY: Finished llvm::Module pass manager run
Chandler Carruth4d356312014-01-20 11:34:08 +0000130
Chandler Carruth703378f2015-01-13 22:45:13 +0000131; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth0b576b32015-01-06 02:50:06 +0000132; RUN: -passes='require<no-op-module>,cgscc(require<no-op-cgscc>,function(require<no-op-function>))' %s 2>&1 \
133; RUN: | FileCheck %s --check-prefix=CHECK-ANALYSES
Chandler Carruth395fe572016-02-25 10:27:39 +0000134; CHECK-ANALYSES: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000135; CHECK-ANALYSES: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000136; CHECK-ANALYSES: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000137; CHECK-ANALYSES: Starting llvm::LazyCallGraph::SCC pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000138; CHECK-ANALYSES: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000139; CHECK-ANALYSES: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000140; CHECK-ANALYSES: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000141; CHECK-ANALYSES: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000142; CHECK-ANALYSES: Running analysis: NoOpFunctionAnalysis
Chandler Carruthe5e8fb32015-01-05 12:21:44 +0000143
Chandler Carruth539dc4b2015-01-05 12:32:11 +0000144; Make sure no-op passes that preserve all analyses don't even try to do any
145; analysis invalidation.
Chandler Carruth703378f2015-01-13 22:45:13 +0000146; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth0b576b32015-01-06 02:50:06 +0000147; 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 +0000148; RUN: | FileCheck %s --check-prefix=CHECK-NO-OP-INVALIDATION
Chandler Carruth395fe572016-02-25 10:27:39 +0000149; CHECK-NO-OP-INVALIDATION: Starting llvm::Module pass manager run
Chandler Carruth539dc4b2015-01-05 12:32:11 +0000150; CHECK-NO-OP-INVALIDATION-NOT: Invalidating all non-preserved analyses
151
Chandler Carruth703378f2015-01-13 22:45:13 +0000152; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000153; RUN: -passes='require<no-op-module>,require<no-op-module>,require<no-op-module>' %s 2>&1 \
154; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000155; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000156; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000157; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis
158; CHECK-DO-CACHE-MODULE-ANALYSIS-RESULTS-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000159
Chandler Carruth703378f2015-01-13 22:45:13 +0000160; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000161; RUN: -passes='require<no-op-module>,invalidate<no-op-module>,require<no-op-module>' %s 2>&1 \
162; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000163; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000164; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000165; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis
166; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Invalidating analysis: NoOpModuleAnalysis
167; CHECK-DO-INVALIDATE-MODULE-ANALYSIS-RESULTS: Running analysis: NoOpModuleAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000168
Chandler Carruth703378f2015-01-13 22:45:13 +0000169; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000170; RUN: -passes='cgscc(require<no-op-cgscc>,require<no-op-cgscc>,require<no-op-cgscc>)' %s 2>&1 \
171; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000172; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000173; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000174; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis
175; CHECK-DO-CACHE-CGSCC-ANALYSIS-RESULTS-NOT: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000176
Chandler Carruth703378f2015-01-13 22:45:13 +0000177; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000178; RUN: -passes='cgscc(require<no-op-cgscc>,invalidate<no-op-cgscc>,require<no-op-cgscc>)' %s 2>&1 \
179; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000180; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000181; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000182; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis
183; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Invalidating analysis: NoOpCGSCCAnalysis
184; CHECK-DO-INVALIDATE-CGSCC-ANALYSIS-RESULTS: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000185
Chandler Carruth703378f2015-01-13 22:45:13 +0000186; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000187; RUN: -passes='function(require<no-op-function>,require<no-op-function>,require<no-op-function>)' %s 2>&1 \
188; RUN: | FileCheck %s --check-prefix=CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000189; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000190; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000191; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis
192; CHECK-DO-CACHE-FUNCTION-ANALYSIS-RESULTS-NOT: Running analysis: NoOpFunctionAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000193
Chandler Carruth703378f2015-01-13 22:45:13 +0000194; RUN: opt -disable-output -debug-pass-manager \
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000195; RUN: -passes='function(require<no-op-function>,invalidate<no-op-function>,require<no-op-function>)' %s 2>&1 \
196; RUN: | FileCheck %s --check-prefix=CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS
Chandler Carruth395fe572016-02-25 10:27:39 +0000197; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000198; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000199; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis
200; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Invalidating analysis: NoOpFunctionAnalysis
201; CHECK-DO-INVALIDATE-FUNCTION-ANALYSIS-RESULTS: Running analysis: NoOpFunctionAnalysis
Chandler Carruth3472ffb2015-01-06 04:49:44 +0000202
Chandler Carruth703378f2015-01-13 22:45:13 +0000203; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthfdb41802015-01-07 01:58:35 +0000204; 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 +0000205; RUN: | FileCheck %s --check-prefix=CHECK-INVALIDATE-ALL
Chandler Carruth395fe572016-02-25 10:27:39 +0000206; CHECK-INVALIDATE-ALL: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000207; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000208; CHECK-INVALIDATE-ALL: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000209; CHECK-INVALIDATE-ALL: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000210; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000211; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000212; CHECK-INVALIDATE-ALL: Starting llvm::Function pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000213; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000214; CHECK-INVALIDATE-ALL: Running analysis: NoOpFunctionAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000215; CHECK-INVALIDATE-ALL: Running pass: InvalidateAllAnalysesPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000216; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses
217; 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 all non-preserved analyses
222; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpFunctionAnalysis
223; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses
224; CHECK-INVALIDATE-ALL: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000225; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000226; CHECK-INVALIDATE-ALL: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000227; CHECK-INVALIDATE-ALL: Finished llvm::Module pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000228; CHECK-INVALIDATE-ALL: Invalidating all non-preserved analyses
229; CHECK-INVALIDATE-ALL-NOT: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000230; CHECK-INVALIDATE-ALL: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000231; CHECK-INVALIDATE-ALL-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000232; CHECK-INVALIDATE-ALL: Finished llvm::Module pass manager run
Chandler Carruthfdb41802015-01-07 01:58:35 +0000233
Chandler Carruth703378f2015-01-13 22:45:13 +0000234; RUN: opt -disable-output -disable-verify -debug-pass-manager \
Chandler Carruthfdb41802015-01-07 01:58:35 +0000235; 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 \
236; RUN: | FileCheck %s --check-prefix=CHECK-INVALIDATE-ALL-CG
Chandler Carruth395fe572016-02-25 10:27:39 +0000237; CHECK-INVALIDATE-ALL-CG: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000238; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000239; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000240; CHECK-INVALIDATE-ALL-CG: Starting llvm::Module pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000241; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000242; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000243; CHECK-INVALIDATE-ALL-CG: Starting llvm::LazyCallGraph::SCC pass manager run
Chandler Carruth816702f2015-01-13 11:13:56 +0000244; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000245; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000246; CHECK-INVALIDATE-ALL-CG: Starting llvm::Function pass manager run
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 Carruth816702f2015-01-13 11:13:56 +0000249; CHECK-INVALIDATE-ALL-CG: Running pass: InvalidateAllAnalysesPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000250; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses
251; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpFunctionAnalysis
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: NoOpFunctionAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000254; CHECK-INVALIDATE-ALL-CG: Finished llvm::Function pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000255; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses
256; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpFunctionAnalysis
257; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses
258; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpCGSCCAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000259; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000260; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpCGSCCAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000261; CHECK-INVALIDATE-ALL-CG: Finished llvm::LazyCallGraph::SCC pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000262; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses
263; CHECK-INVALIDATE-ALL-CG-NOT: Invalidating analysis: NoOpCGSCCAnalysis
264; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses
265; CHECK-INVALIDATE-ALL-CG: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000266; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000267; CHECK-INVALIDATE-ALL-CG: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000268; CHECK-INVALIDATE-ALL-CG: Finished llvm::Module pass manager run
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000269; CHECK-INVALIDATE-ALL-CG: Invalidating all non-preserved analyses
270; CHECK-INVALIDATE-ALL-CG-NOT: Invalidating analysis: NoOpModuleAnalysis
Chandler Carruth816702f2015-01-13 11:13:56 +0000271; CHECK-INVALIDATE-ALL-CG: Running pass: RequireAnalysisPass
Chandler Carruth7ad6d622015-01-13 02:51:47 +0000272; CHECK-INVALIDATE-ALL-CG-NOT: Running analysis: NoOpModuleAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000273; CHECK-INVALIDATE-ALL-CG: Finished llvm::Module pass manager run
Chandler Carruth4e107caf2015-01-06 09:06:35 +0000274
Chandler Carruth8ca43222015-01-15 11:39:46 +0000275; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
276; RUN: -passes='require<targetlibinfo>,invalidate<all>,require<targetlibinfo>' \
277; RUN: | FileCheck %s --check-prefix=CHECK-TLI
Chandler Carruth395fe572016-02-25 10:27:39 +0000278; CHECK-TLI: Starting llvm::Module pass manager run
Chandler Carruth8ca43222015-01-15 11:39:46 +0000279; CHECK-TLI: Running pass: RequireAnalysisPass
280; CHECK-TLI: Running analysis: TargetLibraryAnalysis
281; CHECK-TLI: Running pass: InvalidateAllAnalysesPass
282; CHECK-TLI-NOT: Invalidating analysis: TargetLibraryAnalysis
283; CHECK-TLI: Running pass: RequireAnalysisPass
284; CHECK-TLI-NOT: Running analysis: TargetLibraryAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000285; CHECK-TLI: Finished llvm::Module pass manager run
Chandler Carruth8ca43222015-01-15 11:39:46 +0000286
Chandler Carruthe0385522015-02-01 10:11:22 +0000287; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
288; RUN: -passes='require<targetir>,invalidate<all>,require<targetir>' \
289; RUN: | FileCheck %s --check-prefix=CHECK-TIRA
Chandler Carruth395fe572016-02-25 10:27:39 +0000290; CHECK-TIRA: Starting llvm::Module pass manager run
Chandler Carruthe0385522015-02-01 10:11:22 +0000291; CHECK-TIRA: Running pass: RequireAnalysisPass
292; CHECK-TIRA: Running analysis: TargetIRAnalysis
293; CHECK-TIRA: Running pass: InvalidateAllAnalysesPass
294; CHECK-TIRA-NOT: Invalidating analysis: TargetIRAnalysis
295; CHECK-TIRA: Running pass: RequireAnalysisPass
296; CHECK-TIRA-NOT: Running analysis: TargetIRAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000297; CHECK-TIRA: Finished llvm::Module pass manager run
Chandler Carruthe0385522015-02-01 10:11:22 +0000298
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000299; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
300; RUN: -passes='require<domtree>' \
301; RUN: | FileCheck %s --check-prefix=CHECK-DT
Chandler Carruth395fe572016-02-25 10:27:39 +0000302; CHECK-DT: Starting llvm::Module pass manager run
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000303; CHECK-DT: Running pass: RequireAnalysisPass
304; CHECK-DT: Running analysis: DominatorTreeAnalysis
Chandler Carruth395fe572016-02-25 10:27:39 +0000305; CHECK-DT: Finished llvm::Module pass manager run
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000306
Chandler Carruth6f5770b102016-02-13 23:32:00 +0000307; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
Chandler Carruthbece8d52016-02-13 23:46:24 +0000308; RUN: -passes='require<basic-aa>' \
309; RUN: | FileCheck %s --check-prefix=CHECK-BASIC-AA
Chandler Carruth395fe572016-02-25 10:27:39 +0000310; CHECK-BASIC-AA: Starting llvm::Module pass manager run
Chandler Carruthbece8d52016-02-13 23:46:24 +0000311; CHECK-BASIC-AA: Running pass: RequireAnalysisPass
312; CHECK-BASIC-AA: Running analysis: BasicAA
Chandler Carruth395fe572016-02-25 10:27:39 +0000313; CHECK-BASIC-AA: Finished llvm::Module pass manager run
Chandler Carruthbece8d52016-02-13 23:46:24 +0000314
Chandler Carruthedf59962016-02-18 09:45:17 +0000315; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
316; RUN: -passes='require<aa>' -aa-pipeline='basic-aa' \
317; RUN: | FileCheck %s --check-prefix=CHECK-AA
Chandler Carruth395fe572016-02-25 10:27:39 +0000318; CHECK-AA: Starting llvm::Module pass manager run
Chandler Carruthedf59962016-02-18 09:45:17 +0000319; CHECK-AA: Running pass: RequireAnalysisPass
320; CHECK-AA: Running analysis: AAManager
321; CHECK-AA: Running analysis: BasicAA
Chandler Carruth395fe572016-02-25 10:27:39 +0000322; CHECK-AA: Finished llvm::Module pass manager run
Chandler Carruthedf59962016-02-18 09:45:17 +0000323
Chandler Carruth61440d22016-03-10 00:55:30 +0000324; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
325; RUN: -passes='require<memdep>' \
326; RUN: | FileCheck %s --check-prefix=CHECK-MEMDEP
327; CHECK-MEMDEP: Starting llvm::Module pass manager run
328; CHECK-MEMDEP: Running pass: RequireAnalysisPass
329; CHECK-MEMDEP: Running analysis: MemoryDependenceAnalysis
330; CHECK-MEMDEP: Finished llvm::Module pass manager run
331
Chandler Carruth4c660f72016-03-10 11:24:11 +0000332; RUN: opt -disable-output -disable-verify -debug-pass-manager %s 2>&1 \
333; RUN: -passes='require<callgraph>' \
334; RUN: | FileCheck %s --check-prefix=CHECK-CALLGRAPH
335; CHECK-CALLGRAPH: Starting llvm::Module pass manager run
336; CHECK-CALLGRAPH: Running pass: RequireAnalysisPass
337; CHECK-CALLGRAPH: Running analysis: CallGraphAnalysis
338; CHECK-CALLGRAPH: Finished llvm::Module pass manager run
339
Chandler Carruth8b5a74192016-02-28 22:16:03 +0000340; RUN: opt -disable-output -disable-verify -debug-pass-manager \
341; RUN: -passes='default<O0>' %s 2>&1 \
342; RUN: | FileCheck %s --check-prefix=CHECK-O2
343; RUN: opt -disable-output -disable-verify -debug-pass-manager \
344; RUN: -passes='default<O1>' %s 2>&1 \
345; RUN: | FileCheck %s --check-prefix=CHECK-O2
346; RUN: opt -disable-output -disable-verify -debug-pass-manager \
347; RUN: -passes='default<O2>' %s 2>&1 \
348; RUN: | FileCheck %s --check-prefix=CHECK-O2
349; RUN: opt -disable-output -disable-verify -debug-pass-manager \
350; RUN: -passes='default<Os>' %s 2>&1 \
351; RUN: | FileCheck %s --check-prefix=CHECK-O2
352; RUN: opt -disable-output -disable-verify -debug-pass-manager \
353; RUN: -passes='default<Oz>' %s 2>&1 \
354; RUN: | FileCheck %s --check-prefix=CHECK-O2
355; RUN: opt -disable-output -disable-verify -debug-pass-manager \
356; RUN: -passes='lto-pre-link<O2>' %s 2>&1 \
357; RUN: | FileCheck %s --check-prefix=CHECK-O2
358; CHECK-O2: Starting llvm::Module pass manager run
359; CHECK-O2: Running pass: SimplifyCFGPass
360; CHECK-O2: Running pass: SROA
361; CHECK-O2: Running pass: EarlyCSEPass
362; CHECK-O2: Running pass: LowerExpectIntrinsicPass
363
364; RUN: opt -disable-output -disable-verify -debug-pass-manager \
365; RUN: -passes='lto<O2>' %s 2>&1 \
366; RUN: | FileCheck %s --check-prefix=CHECK-LTO-O2
367; CHECK-LTO-O2: Starting llvm::Module pass manager run
368; CHECK-LTO-O2: Running pass: InstCombinePass
369; CHECK-LTO-O2: Running pass: SimplifyCFGPass
370
Chandler Carruth241bf242016-08-03 07:44:48 +0000371; RUN: opt -disable-output -disable-verify -debug-pass-manager \
372; RUN: -passes='repeat<3>(no-op-module)' %s 2>&1 \
373; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-MODULE-PASS
374; CHECK-REPEAT-MODULE-PASS: Starting llvm::Module pass manager run
375; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: RepeatingPassWrapper
376; CHECK-REPEAT-MODULE-PASS-NEXT: Starting llvm::Module pass manager run
377; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: NoOpModulePass
378; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
379; CHECK-REPEAT-MODULE-PASS-NEXT: Starting llvm::Module pass manager run
380; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: NoOpModulePass
381; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
382; CHECK-REPEAT-MODULE-PASS-NEXT: Starting llvm::Module pass manager run
383; CHECK-REPEAT-MODULE-PASS-NEXT: Running pass: NoOpModulePass
384; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
385; CHECK-REPEAT-MODULE-PASS-NEXT: Finished llvm::Module pass manager run
386
387; RUN: opt -disable-output -disable-verify -debug-pass-manager \
388; RUN: -passes='cgscc(repeat<3>(no-op-cgscc))' %s 2>&1 \
389; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-CGSCC-PASS
390; CHECK-REPEAT-CGSCC-PASS: Starting llvm::Module pass manager run
391; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor
392; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
393; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: LazyCallGraphAnalysis
394; CHECK-REPEAT-CGSCC-PASS-NEXT: Running an SCC pass across the RefSCC: [(foo)]
395; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting llvm::LazyCallGraph::SCC pass manager run
396; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: RepeatingPassWrapper
397; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting llvm::LazyCallGraph::SCC pass manager run
398; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
399; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished llvm::LazyCallGraph::SCC pass manager run
400; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting llvm::LazyCallGraph::SCC pass manager run
401; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
402; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished llvm::LazyCallGraph::SCC pass manager run
403; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting llvm::LazyCallGraph::SCC pass manager run
404; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
405; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished llvm::LazyCallGraph::SCC pass manager run
406; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished llvm::LazyCallGraph::SCC pass manager run
407; CHECK-REPEAT-CGSCC-PASS-NEXT: Finished llvm::Module pass manager run
408
409; RUN: opt -disable-output -disable-verify -debug-pass-manager \
410; RUN: -passes='function(repeat<3>(no-op-function))' %s 2>&1 \
411; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-FUNCTION-PASS
412; CHECK-REPEAT-FUNCTION-PASS: Starting llvm::Module pass manager run
413; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
414; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
415; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
416; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: RepeatingPassWrapper
417; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
418; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
419; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
420; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
421; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
422; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
423; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
424; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
425; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
426; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
427; CHECK-REPEAT-FUNCTION-PASS-NEXT: Finished llvm::Module pass manager run
428
429; RUN: opt -disable-output -disable-verify -debug-pass-manager \
430; RUN: -passes='loop(repeat<3>(no-op-loop))' %s 2>&1 \
431; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-LOOP-PASS
432; CHECK-REPEAT-LOOP-PASS: Starting llvm::Module pass manager run
433; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
434; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
435; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Function pass manager run
436; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: FunctionToLoopPassAdaptor
437; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
438; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: LoopAnalysis
439; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: DominatorTreeAnalysis
440; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
441; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: RepeatingPassWrapper
442; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
443; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
444; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
445; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
446; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
447; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
448; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Loop pass manager run
449; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
450; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
451; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Loop pass manager run
452; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Function pass manager run
453; CHECK-REPEAT-LOOP-PASS-NEXT: Finished llvm::Module pass manager run
454
455define void @foo(i1 %x) {
456entry:
457 br i1 %x, label %loop, label %exit
458
459loop:
460 br label %loop
461
462exit:
Chandler Carruth52eef882014-01-12 12:15:39 +0000463 ret void
464}
Chandler Carruth9f8d9b62015-02-01 10:47:25 +0000465
466declare void @bar()