blob: bac9c4322045e18dcc6f83808f292a4cfed33c2e [file] [log] [blame]
Teresa Johnson24a00ef2020-01-13 11:09:13 -08001; REQUIRES: x86-registered-target
2
3; Validate ThinLTO post link pipeline at O2 and O3
4
5; RUN: opt -thinlto-bc -o %t.o %s
6
7; RUN: llvm-lto2 run -thinlto-distributed-indexes %t.o \
8; RUN: -o %t2.index \
9; RUN: -r=%t.o,main,px
10
11; RUN: %clang -target x86_64-grtev4-linux-gnu \
12; RUN: -O2 -fexperimental-new-pass-manager -Xclang -fdebug-pass-manager \
13; RUN: -c -fthinlto-index=%t.o.thinlto.bc \
14; RUN: -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefixes=CHECK-O,CHECK-O2 %s --dump-input=fail
15
16; RUN: %clang -target x86_64-grtev4-linux-gnu \
17; RUN: -O3 -fexperimental-new-pass-manager -Xclang -fdebug-pass-manager \
18; RUN: -c -fthinlto-index=%t.o.thinlto.bc \
19; RUN: -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefixes=CHECK-O,CHECK-O3 %s --dump-input=fail
20
21; CHECK-O: Running analysis: PassInstrumentationAnalysis
22; CHECK-O: Starting {{.*}}Module pass manager run.
23; CHECK-O: Running pass: WholeProgramDevirtPass
24; CHECK-O: Running analysis: InnerAnalysisManagerProxy
25; CHECK-O: Running pass: LowerTypeTestsPass
26; CHECK-O: Invalidating all non-preserved analyses for:
27; CHECK-O: Invalidating analysis: InnerAnalysisManagerProxy
28; CHECK-O: Running pass: ForceFunctionAttrsPass
29; CHECK-O: Running pass: PassManager<{{.*}}Module>
30; CHECK-O: Starting {{.*}}Module pass manager run.
31; CHECK-O: Running pass: PGOIndirectCallPromotion
32; CHECK-O: Running analysis: ProfileSummaryAnalysis
33; CHECK-O: Running analysis: InnerAnalysisManagerProxy
34; CHECK-O: Running analysis: OptimizationRemarkEmitterAnalysis on main
35; CHECK-O: Running analysis: PassInstrumentationAnalysis on main
36; CHECK-O: Running pass: InferFunctionAttrsPass
37; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function> >
38; CHECK-O: Starting {{.*}}Function pass manager run.
39; CHECK-O: Running pass: SimplifyCFGPass on main
40; CHECK-O: Running analysis: TargetIRAnalysis on main
41; CHECK-O: Running analysis: AssumptionAnalysis on main
42; CHECK-O: Running pass: SROA on main
43; CHECK-O: Running analysis: DominatorTreeAnalysis on main
44; CHECK-O: Running pass: EarlyCSEPass on main
45; CHECK-O: Running analysis: TargetLibraryAnalysis on main
46; CHECK-O: Running pass: LowerExpectIntrinsicPass on main
47; CHECK-O3: Running pass: CallSiteSplittingPass on main
48; CHECK-O: Finished {{.*}}Function pass manager run.
49; CHECK-O: Running pass: IPSCCPPass
50; CHECK-O: Running pass: CalledValuePropagationPass
51; CHECK-O: Running pass: GlobalOptPass
52; CHECK-O: Invalidating all non-preserved analyses for:
53; CHECK-O: Invalidating analysis: InnerAnalysisManagerProxy
54; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
55; CHECK-O: Running analysis: InnerAnalysisManagerProxy
56; CHECK-O: Running analysis: DominatorTreeAnalysis on main
57; CHECK-O: Running analysis: PassInstrumentationAnalysis on main
58; CHECK-O: Running analysis: AssumptionAnalysis on main
59; CHECK-O: Running pass: DeadArgumentEliminationPass
60; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function> >
61; CHECK-O: Starting {{.*}}Function pass manager run.
62; CHECK-O: Running pass: InstCombinePass on main
63; CHECK-O: Running analysis: TargetLibraryAnalysis on main
64; CHECK-O: Running analysis: OptimizationRemarkEmitterAnalysis on main
65; CHECK-O: Running analysis: AAManager on main
66; CHECK-O: Running analysis: BasicAA on main
67; CHECK-O: Running analysis: ScopedNoAliasAA on main
68; CHECK-O: Running analysis: TypeBasedAA on main
69; CHECK-O: Running analysis: OuterAnalysisManagerProxy
70; CHECK-O: Running pass: SimplifyCFGPass on main
71; CHECK-O: Running analysis: TargetIRAnalysis on main
72; CHECK-O: Finished {{.*}}Function pass manager run.
73; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
74; CHECK-O: Running analysis: GlobalsAA
75; CHECK-O: Running analysis: CallGraphAnalysis
76; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
77; CHECK-O: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}DevirtSCCRepeatedPass<{{.*}}PassManager<{{.*}}LazyCallGraph::SCC
78; CHECK-O: Running analysis: InnerAnalysisManagerProxy
79; CHECK-O: Running analysis: LazyCallGraphAnalysis
80; CHECK-O: Running analysis: FunctionAnalysisManagerCGSCCProxy on (main)
81; CHECK-O: Running analysis: PassInstrumentationAnalysis on (main)
82; CHECK-O: Running analysis: OuterAnalysisManagerProxy
83; CHECK-O: Starting CGSCC pass manager run.
84; CHECK-O: Running pass: InlinerPass on (main)
85; CHECK-O: Running pass: PostOrderFunctionAttrsPass on (main)
86; CHECK-O: Invalidating all non-preserved analyses for: (main)
87; CHECK-O: Clearing all analysis results for: main
88; CHECK-O: Invalidating analysis: FunctionAnalysisManagerCGSCCProxy on (main)
89; CHECK-O3: Running pass: ArgumentPromotionPass on (main)
Teresa Johnson76b92cc2020-01-15 08:35:12 -080090; CHECK-O2: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
Teresa Johnson24a00ef2020-01-13 11:09:13 -080091; CHECK-O: Running analysis: FunctionAnalysisManagerCGSCCProxy on (main)
92; CHECK-O3: Running analysis: TargetIRAnalysis on main
93; CHECK-O: Running analysis: PassInstrumentationAnalysis on main
Teresa Johnson76b92cc2020-01-15 08:35:12 -080094; CHECK-O3: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
Teresa Johnson24a00ef2020-01-13 11:09:13 -080095; CHECK-O: Starting {{.*}}Function pass manager run.
96; CHECK-O: Running pass: SROA on main
97; These next two can appear in any order since they are accessed as parameters
98; on the same call to SROA::runImpl
99; CHECK-O-DAG: Running analysis: DominatorTreeAnalysis on main
100; CHECK-O-DAG: Running analysis: AssumptionAnalysis on main
101; CHECK-O: Running pass: EarlyCSEPass on main
102; CHECK-O: Running analysis: TargetLibraryAnalysis on main
103; CHECK-O2: Running analysis: TargetIRAnalysis on main
104; CHECK-O: Running analysis: MemorySSAAnalysis on main
105; CHECK-O: Running analysis: AAManager on main
106; CHECK-O: Running analysis: BasicAA on main
107; CHECK-O: Running analysis: ScopedNoAliasAA on main
108; CHECK-O: Running analysis: TypeBasedAA on main
109; CHECK-O: Running analysis: OuterAnalysisManagerProxy
110; CHECK-O: Running pass: SpeculativeExecutionPass on main
111; CHECK-O: Running pass: JumpThreadingPass on main
112; CHECK-O: Running analysis: LazyValueAnalysis on main
113; CHECK-O: Running pass: CorrelatedValuePropagationPass on main
114; CHECK-O: Running pass: SimplifyCFGPass on main
115; CHECK-O3: Running pass: AggressiveInstCombinePass on main
116; CHECK-O: Running pass: InstCombinePass on main
117; CHECK-O: Running analysis: OptimizationRemarkEmitterAnalysis on main
118; CHECK-O: Running pass: LibCallsShrinkWrapPass on main
119; CHECK-O: Running pass: TailCallElimPass on main
120; CHECK-O: Running pass: SimplifyCFGPass on main
121; CHECK-O: Running pass: ReassociatePass on main
122; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
123; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}PassManager<{{.*}}Loop
124; CHECK-O: Starting {{.*}}Function pass manager run.
125; CHECK-O: Running pass: LoopSimplifyPass on main
126; CHECK-O: Running analysis: LoopAnalysis on main
127; CHECK-O: Running pass: LCSSAPass on main
128; CHECK-O: Finished {{.*}}Function pass manager run.
129; CHECK-O: Running pass: SimplifyCFGPass on main
130; CHECK-O: Running pass: InstCombinePass on main
131; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}PassManager<{{.*}}Loop
132; CHECK-O: Starting {{.*}}Function pass manager run.
133; CHECK-O: Running pass: LoopSimplifyPass on main
134; CHECK-O: Running pass: LCSSAPass on main
135; CHECK-O: Finished {{.*}}Function pass manager run.
136; CHECK-O: Running pass: SROA on main
137; CHECK-O: Running pass: MergedLoadStoreMotionPass on main
138; CHECK-O: Running pass: GVN on main
139; CHECK-O: Running analysis: MemoryDependenceAnalysis on main
140; CHECK-O: Running analysis: PhiValuesAnalysis on main
141; CHECK-O: Running pass: MemCpyOptPass on main
142; CHECK-O: Running pass: SCCPPass on main
143; CHECK-O: Running pass: BDCEPass on main
144; CHECK-O: Running analysis: DemandedBitsAnalysis on main
145; CHECK-O: Running pass: InstCombinePass on main
146; CHECK-O: Running pass: JumpThreadingPass on main
147; CHECK-O: Running pass: CorrelatedValuePropagationPass on main
148; CHECK-O: Running pass: DSEPass on main
149; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> on main
150; CHECK-O: Starting {{.*}}Function pass manager run.
151; CHECK-O: Running pass: LoopSimplifyPass on main
152; CHECK-O: Running pass: LCSSAPass on main
153; CHECK-O: Finished {{.*}}Function pass manager run.
154; CHECK-O: Running pass: ADCEPass on main
155; CHECK-O: Running analysis: PostDominatorTreeAnalysis on main
156; CHECK-O: Running pass: SimplifyCFGPass on main
157; CHECK-O: Running pass: InstCombinePass on main
158; CHECK-O: Finished {{.*}}Function pass manager run.
159; CHECK-O: Finished CGSCC pass manager run.
160; CHECK-O: Invalidating all non-preserved analyses for:
161; CHECK-O: Invalidating all non-preserved analyses for: main
162; CHECK-O: Invalidating analysis: DominatorTreeAnalysis on main
163; CHECK-O: Invalidating analysis: BasicAA on main
164; CHECK-O: Invalidating analysis: AAManager on main
165; CHECK-O: Invalidating analysis: MemorySSAAnalysis on main
166; CHECK-O: Invalidating analysis: LazyValueAnalysis on main
167; CHECK-O: Invalidating analysis: LoopAnalysis on main
168; CHECK-O: Invalidating analysis: PhiValuesAnalysis on main
169; CHECK-O: Invalidating analysis: MemoryDependenceAnalysis on main
170; CHECK-O: Invalidating analysis: DemandedBitsAnalysis on main
171; CHECK-O: Invalidating analysis: PostDominatorTreeAnalysis on main
172; CHECK-O: Invalidating analysis: CallGraphAnalysis
Teresa Johnson24a00ef2020-01-13 11:09:13 -0800173; CHECK-O: Finished {{.*}}Module pass manager run.
174; CHECK-O: Running pass: PassManager<{{.*}}Module>
175; CHECK-O: Starting {{.*}}Module pass manager run.
176; CHECK-O: Running pass: GlobalOptPass
177; CHECK-O: Running pass: GlobalDCEPass
178; CHECK-O: Running pass: EliminateAvailableExternallyPass
179; CHECK-O: Running pass: ReversePostOrderFunctionAttrsPass
180; CHECK-O: Running analysis: CallGraphAnalysis
181; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
Teresa Johnson24a00ef2020-01-13 11:09:13 -0800182; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function> >
183; CHECK-O: Starting {{.*}}Function pass manager run.
184; CHECK-O: Running pass: Float2IntPass on main
185; CHECK-O: Running pass: LowerConstantIntrinsicsPass on main
186; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass> on main
187; CHECK-O: Starting {{.*}}Function pass manager run.
188; CHECK-O: Running pass: LoopSimplifyPass on main
189; CHECK-O: Running analysis: LoopAnalysis on main
190; CHECK-O: Running pass: LCSSAPass on main
191; CHECK-O: Finished {{.*}}Function pass manager run.
192; CHECK-O: Running pass: LoopDistributePass on main
193; CHECK-O: Running analysis: ScalarEvolutionAnalysis on main
194; CHECK-O: Running analysis: AAManager on main
195; CHECK-O: Running analysis: BasicAA on main
196; CHECK-O: Running analysis: InnerAnalysisManagerProxy
197; CHECK-O: Running pass: LoopVectorizePass on main
198; CHECK-O: Running analysis: BlockFrequencyAnalysis on main
199; CHECK-O: Running analysis: BranchProbabilityAnalysis on main
200; CHECK-O: Running analysis: DemandedBitsAnalysis on main
201; CHECK-O: Running analysis: MemorySSAAnalysis on main
202; CHECK-O: Running pass: LoopLoadEliminationPass on main
203; CHECK-O: Running pass: InstCombinePass on main
204; CHECK-O: Running pass: SimplifyCFGPass on main
205; CHECK-O: Running pass: SLPVectorizerPass on main
206; CHECK-O: Running pass: InstCombinePass on main
207; CHECK-O: Running pass: LoopUnrollPass on main
208; CHECK-O: Running pass: WarnMissedTransformationsPass on main
209; CHECK-O: Running pass: InstCombinePass on main
210; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
211; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> on main
212; CHECK-O: Starting {{.*}}Function pass manager run.
213; CHECK-O: Running pass: LoopSimplifyPass on main
214; CHECK-O: Running pass: LCSSAPass on main
215; CHECK-O: Finished {{.*}}Function pass manager run.
216; CHECK-O: Running pass: AlignmentFromAssumptionsPass on main
217; CHECK-O: Running pass: LoopSinkPass on main
218; CHECK-O: Running pass: InstSimplifyPass on main
219; CHECK-O: Running pass: DivRemPairsPass on main
220; CHECK-O: Running pass: SimplifyCFGPass on main
221; CHECK-O: Running pass: SpeculateAroundPHIsPass on main
222; CHECK-O: Finished {{.*}}Function pass manager run.
223; CHECK-O: Running pass: CGProfilePass
224; CHECK-O: Running pass: GlobalDCEPass
225; CHECK-O: Running pass: ConstantMergePass
226; CHECK-O: Finished {{.*}}Module pass manager run.
227; CHECK-O: Finished {{.*}}Module pass manager run.
228
229target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
230target triple = "x86_64-grtev4-linux-gnu"
231
232define i32 @main() {
233entry:
234 ret i32 0
235}