1; 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-O3: Running pass: ArgumentPromotionPass on (main) 89; CHECK-O3: Running analysis: TargetIRAnalysis on main 90; CHECK-O: Running analysis: PassInstrumentationAnalysis on main 91; CHECK-O3: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> 92; CHECK-O: Starting {{.*}}Function pass manager run. 93; CHECK-O: Running pass: SROA on main 94; These next two can appear in any order since they are accessed as parameters 95; on the same call to SROA::runImpl 96; CHECK-O-DAG: Running analysis: DominatorTreeAnalysis on main 97; CHECK-O-DAG: Running analysis: AssumptionAnalysis on main 98; CHECK-O: Running pass: EarlyCSEPass on main 99; CHECK-O: Running analysis: TargetLibraryAnalysis on main 100; CHECK-O2: Running analysis: TargetIRAnalysis on main 101; CHECK-O: Running analysis: MemorySSAAnalysis on main 102; CHECK-O: Running analysis: AAManager on main 103; CHECK-O: Running analysis: BasicAA on main 104; CHECK-O: Running analysis: ScopedNoAliasAA on main 105; CHECK-O: Running analysis: TypeBasedAA on main 106; CHECK-O: Running analysis: OuterAnalysisManagerProxy 107; CHECK-O: Running pass: SpeculativeExecutionPass on main 108; CHECK-O: Running pass: JumpThreadingPass on main 109; CHECK-O: Running analysis: LazyValueAnalysis on main 110; CHECK-O: Running pass: CorrelatedValuePropagationPass on main 111; CHECK-O: Running pass: SimplifyCFGPass on main 112; CHECK-O3: Running pass: AggressiveInstCombinePass on main 113; CHECK-O: Running pass: InstCombinePass on main 114; CHECK-O: Running analysis: OptimizationRemarkEmitterAnalysis on main 115; CHECK-O: Running pass: LibCallsShrinkWrapPass on main 116; CHECK-O: Running pass: TailCallElimPass on main 117; CHECK-O: Running pass: SimplifyCFGPass on main 118; CHECK-O: Running pass: ReassociatePass on main 119; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis 120; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}PassManager<{{.*}}Loop 121; CHECK-O: Starting {{.*}}Function pass manager run. 122; CHECK-O: Running pass: LoopSimplifyPass on main 123; CHECK-O: Running analysis: LoopAnalysis on main 124; CHECK-O: Running pass: LCSSAPass on main 125; CHECK-O: Finished {{.*}}Function pass manager run. 126; CHECK-O: Running pass: SimplifyCFGPass on main 127; CHECK-O: Running pass: InstCombinePass on main 128; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}PassManager<{{.*}}Loop 129; CHECK-O: Starting {{.*}}Function pass manager run. 130; CHECK-O: Running pass: LoopSimplifyPass on main 131; CHECK-O: Running pass: LCSSAPass on main 132; CHECK-O: Finished {{.*}}Function pass manager run. 133; CHECK-O: Running pass: SROA on main 134; CHECK-O: Running pass: MergedLoadStoreMotionPass on main 135; CHECK-O: Running pass: GVN on main 136; CHECK-O: Running analysis: MemoryDependenceAnalysis on main 137; CHECK-O: Running analysis: PhiValuesAnalysis on main 138; CHECK-O: Running pass: MemCpyOptPass on main 139; CHECK-O: Running pass: SCCPPass on main 140; CHECK-O: Running pass: BDCEPass on main 141; CHECK-O: Running analysis: DemandedBitsAnalysis on main 142; CHECK-O: Running pass: InstCombinePass on main 143; CHECK-O: Running pass: JumpThreadingPass on main 144; CHECK-O: Running pass: CorrelatedValuePropagationPass on main 145; CHECK-O: Running pass: DSEPass on main 146; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> on main 147; CHECK-O: Starting {{.*}}Function pass manager run. 148; CHECK-O: Running pass: LoopSimplifyPass on main 149; CHECK-O: Running pass: LCSSAPass on main 150; CHECK-O: Finished {{.*}}Function pass manager run. 151; CHECK-O: Running pass: ADCEPass on main 152; CHECK-O: Running analysis: PostDominatorTreeAnalysis on main 153; CHECK-O: Running pass: SimplifyCFGPass on main 154; CHECK-O: Running pass: InstCombinePass on main 155; CHECK-O: Finished {{.*}}Function pass manager run. 156; CHECK-O: Finished CGSCC pass manager run. 157; CHECK-O: Invalidating all non-preserved analyses for: 158; CHECK-O: Invalidating all non-preserved analyses for: main 159; CHECK-O: Invalidating analysis: DominatorTreeAnalysis on main 160; CHECK-O: Invalidating analysis: BasicAA on main 161; CHECK-O: Invalidating analysis: AAManager on main 162; CHECK-O: Invalidating analysis: MemorySSAAnalysis on main 163; CHECK-O: Invalidating analysis: LazyValueAnalysis on main 164; CHECK-O: Invalidating analysis: LoopAnalysis on main 165; CHECK-O: Invalidating analysis: PhiValuesAnalysis on main 166; CHECK-O: Invalidating analysis: MemoryDependenceAnalysis on main 167; CHECK-O: Invalidating analysis: DemandedBitsAnalysis on main 168; CHECK-O: Invalidating analysis: PostDominatorTreeAnalysis on main 169; CHECK-O: Invalidating analysis: CallGraphAnalysis 170; CHECK-O: Finished {{.*}}Module pass manager run. 171; CHECK-O: Running pass: PassManager<{{.*}}Module> 172; CHECK-O: Starting {{.*}}Module pass manager run. 173; CHECK-O: Running pass: GlobalOptPass 174; CHECK-O: Running pass: GlobalDCEPass 175; CHECK-O: Running pass: EliminateAvailableExternallyPass 176; CHECK-O: Running pass: ReversePostOrderFunctionAttrsPass 177; CHECK-O: Running analysis: CallGraphAnalysis 178; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA 179; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function>{{ ?}}> 180; CHECK-O: Starting {{.*}}Function pass manager run. 181; CHECK-O: Running pass: Float2IntPass on main 182; CHECK-O: Running pass: LowerConstantIntrinsicsPass on main 183; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass> on main 184; CHECK-O: Starting {{.*}}Function pass manager run. 185; CHECK-O: Running pass: LoopSimplifyPass on main 186; CHECK-O: Running analysis: LoopAnalysis on main 187; CHECK-O: Running pass: LCSSAPass on main 188; CHECK-O: Finished {{.*}}Function pass manager run. 189; CHECK-O: Running pass: LoopDistributePass on main 190; CHECK-O: Running analysis: ScalarEvolutionAnalysis on main 191; CHECK-O: Running analysis: AAManager on main 192; CHECK-O: Running analysis: BasicAA on main 193; CHECK-O: Running analysis: InnerAnalysisManagerProxy 194; CHECK-O: Running pass: LoopVectorizePass on main 195; CHECK-O: Running analysis: BlockFrequencyAnalysis on main 196; CHECK-O: Running analysis: BranchProbabilityAnalysis on main 197; CHECK-O: Running analysis: DemandedBitsAnalysis on main 198; CHECK-O: Running analysis: MemorySSAAnalysis on main 199; CHECK-O: Running pass: LoopLoadEliminationPass on main 200; CHECK-O: Running pass: InstCombinePass on main 201; CHECK-O: Running pass: SimplifyCFGPass on main 202; CHECK-O: Running pass: SLPVectorizerPass on main 203; CHECK-O: Running pass: InstCombinePass on main 204; CHECK-O: Running pass: LoopUnrollPass on main 205; CHECK-O: Running pass: WarnMissedTransformationsPass on main 206; CHECK-O: Running pass: InstCombinePass on main 207; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis 208; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> on main 209; CHECK-O: Starting {{.*}}Function pass manager run. 210; CHECK-O: Running pass: LoopSimplifyPass on main 211; CHECK-O: Running pass: LCSSAPass on main 212; CHECK-O: Finished {{.*}}Function pass manager run. 213; CHECK-O: Running pass: AlignmentFromAssumptionsPass on main 214; CHECK-O: Running pass: LoopSinkPass on main 215; CHECK-O: Running pass: InstSimplifyPass on main 216; CHECK-O: Running pass: DivRemPairsPass on main 217; CHECK-O: Running pass: SimplifyCFGPass on main 218; CHECK-O: Running pass: SpeculateAroundPHIsPass on main 219; CHECK-O: Finished {{.*}}Function pass manager run. 220; CHECK-O: Running pass: CGProfilePass 221; CHECK-O: Running pass: GlobalDCEPass 222; CHECK-O: Running pass: ConstantMergePass 223; CHECK-O: Finished {{.*}}Module pass manager run. 224; CHECK-O: Finished {{.*}}Module pass manager run. 225 226target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 227target triple = "x86_64-grtev4-linux-gnu" 228 229define i32 @main() { 230entry: 231 ret i32 0 232} 233