brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.0 KiB · ef6cd83 Raw
238 lines · plain
1; Validate ThinLTO postlink pipeline when we have Sample PGO2;3; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \4; RUN:     -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \5; RUN:     -passes='thinlto<O1>' -S %s 2>&1 \6; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,%llvmcheckext7; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \8; RUN:     -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \9; RUN:     -passes='thinlto<O2>' -S  %s 2>&1 \10; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext11; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \12; RUN:     -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \13; RUN:     -passes='thinlto<O3>' -S  %s 2>&1 \14; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,%llvmcheckext15; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \16; RUN:     -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \17; RUN:     -passes='thinlto<Os>' -S %s 2>&1 \18; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-Os,CHECK-O23SZ,%llvmcheckext19; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \20; RUN:     -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \21; RUN:     -passes='thinlto<Oz>' -S %s 2>&1 \22; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,%llvmcheckext23; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \24; RUN:     -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \25; RUN:     -passes='thinlto<O2>' -S  %s 2>&1 \26; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext27 28; Suppress FileCheck --allow-unused-prefixes=false diagnostics.29; CHECK-NOEXT: {{^}}30 31; CHECK-EP-PIPELINE-START: Running pass: NoOpModulePass32; CHECK-O: Running pass: SampleProfileLoaderPass33; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy34; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis35; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis36; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis37; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis38; CHECK-O-NEXT: Running pass: PGOIndirectCallPromotion39; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis40; CHECK-O-NEXT: Running pass: OpenMPOptPass41; CHECK-O-NEXT: Running pass: LowerTypeTestsPass42; CHECK-O-NEXT: Running pass: IPSCCPPass43; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis44; CHECK-O-NEXT: Running analysis: AssumptionAnalysis45; CHECK-O-NEXT: Running analysis: TargetIRAnalysis46; CHECK-O-NEXT: Running pass: CalledValuePropagationPass47; CHECK-O-NEXT: Running pass: GlobalOptPass48; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis49; CHECK-O-NEXT: Running pass: PromotePass50; CHECK-O-NEXT: Running pass: InstCombinePass51; CHECK-O-NEXT: Running analysis: LastRunTrackingAnalysis52; CHECK-O-NEXT: Running analysis: AAManager on foo53; CHECK-O-NEXT: Running analysis: BasicAA54; CHECK-O-NEXT: Running analysis: ScopedNoAliasAA55; CHECK-O-NEXT: Running analysis: TypeBasedAA56; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy57; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo58; CHECK-O-NEXT: Running analysis: BranchProbabilityAnalysis on foo59; CHECK-O-NEXT: Running analysis: LoopAnalysis on foo60; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo61; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo62 63; CHECK-O-NEXT: Running pass: PGOForceFunctionAttrsPass64; CHECK-O-NEXT: Running pass: AlwaysInlinerPass65; CHECK-O-NEXT: Running pass: ModuleInlinerWrapperPass66; CHECK-O-NEXT: Running analysis: InlineAdvisorAnalysis67; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA68; CHECK-O-NEXT: Running analysis: GlobalsAA69; CHECK-O-NEXT: Running analysis: CallGraphAnalysis70; CHECK-O-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}AAManager71; CHECK-O-NEXT: Invalidating analysis: AAManager72; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis73; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy74; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy75; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy76; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass77; CHECK-O-NEXT: Running pass: InlinerPass78; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass79; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass80; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass81; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass82; CHECK-O-NEXT: Running pass: SROAPass83; CHECK-O-NEXT: Running pass: EarlyCSEPass84; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis85; CHECK-O-NEXT: Running analysis: AAManager86; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass87; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass88; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis89; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass90; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis91; CHECK-O-NEXT: Running pass: SimplifyCFGPass92; CHECK-O-NEXT: Running pass: InstCombinePass93; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass94; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass95; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass96; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass97; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass98; CHECK-O-NEXT: Running pass: SimplifyCFGPass99; CHECK-O-NEXT: Running pass: ReassociatePass100; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass101; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis102; CHECK-O-NEXT: Running pass: LoopSimplifyPass103; CHECK-O-NEXT: Running pass: LCSSAPass104; CHECK-O1-NEXT: Running analysis: ScalarEvolutionAnalysis105; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy106; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass107; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass108; CHECK-O-NEXT: Running pass: LICM109; CHECK-O-NEXT: Running pass: LoopRotatePass110; CHECK-O-NEXT: Running pass: LICM111; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass112; CHECK-O-NEXT: Running pass: SimplifyCFGPass113; CHECK-O-NEXT: Running pass: InstCombinePass114; CHECK-O-NEXT: Running pass: LoopSimplifyPass115; CHECK-O-NEXT: Running pass: LCSSAPass116; CHECK-O-NEXT: Running pass: LoopIdiomRecognizePass117; CHECK-O-NEXT: Running pass: IndVarSimplifyPass118; CHECK-O-NEXT: Running pass: LoopDeletionPass119; CHECK-O-NEXT: Running pass: LoopFullUnrollPass120; CHECK-O-NEXT: Running pass: SROAPass on foo121; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass122; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass123; CHECK-O23SZ-NEXT: Running pass: GVNPass124; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis125; CHECK-O1-NEXT: Running pass: MemCpyOptPass126; CHECK-O-NEXT: Running pass: SCCPPass127; CHECK-O-NEXT: Running pass: BDCEPass128; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis129; CHECK-O-NEXT: Running pass: InstCombinePass130; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass131; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis132; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass133; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis134; CHECK-O1-NEXT: Running pass: CoroElidePass135; CHECK-O-NEXT: Running pass: ADCEPass136; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass137; CHECK-O23SZ-NEXT: Running pass: DSEPass138; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass139; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass140; CHECK-O23SZ-NEXT: Running pass: LCSSAPass141; CHECK-O23SZ-NEXT: Running pass: LICMPass142; CHECK-O23SZ-NEXT: Running pass: CoroElidePass143; CHECK-O-NEXT: Running pass: SimplifyCFGPass144; CHECK-O-NEXT: Running pass: InstCombinePass145; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass146; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ShouldNotRunFunctionPassesAnalysis147; CHECK-O-NEXT: Running analysis: ShouldNotRunFunctionPassesAnalysis148; CHECK-O-NEXT: Running pass: CoroSplitPass149; CHECK-O-NEXT: Running pass: CoroAnnotationElidePass150; CHECK-O-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ShouldNotRunFunctionPassesAnalysis151; CHECK-O-NEXT: Invalidating analysis: ShouldNotRunFunctionPassesAnalysis152; CHECK-O-NEXT: Invalidating analysis: InlineAdvisorAnalysis153; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass154; CHECK-O-NEXT: Running pass: SimplifyTypeTestsPass155; CHECK-O-NEXT: Running pass: CoroCleanupPass156; CHECK-O-NEXT: Running pass: GlobalOptPass157; CHECK-O-NEXT: Running pass: GlobalDCEPass158; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass159; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass160; CHECK-O-NEXT: Running pass: RecomputeGlobalsAAPass161; CHECK-O-NEXT: Running pass: DropUnnecessaryAssumesPass162; CHECK-O-NEXT: Running pass: Float2IntPass163; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass164; CHECK-O3-NEXT: Running pass: ControlHeightReductionPass165; CHECK-O3-NEXT: Running analysis: RegionInfoAnalysis166; CHECK-O3-NEXT: Running analysis: DominanceFrontierAnalysis167; CHECK-EXT: Running pass: {{.*}}::Bye168; CHECK-O-NEXT: Running pass: LoopSimplifyPass169; CHECK-O-NEXT: Running pass: LCSSAPass170; CHECK-O-NEXT: Running pass: LoopRotatePass171; CHECK-O-NEXT: Running pass: LoopDeletionPass172; CHECK-O-NEXT: Running pass: LoopDistributePass173; CHECK-O-NEXT: Running analysis: LoopAccessAnalysis174; CHECK-O-NEXT: Running pass: InjectTLIMappings175; CHECK-O-NEXT: Running pass: LoopVectorizePass176; CHECK-O-NEXT: Running pass: DropUnnecessaryAssumesPass177; CHECK-O-NEXT: Running pass: InferAlignmentPass178; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass179; CHECK-O-NEXT: Running pass: InstCombinePass180; CHECK-O-NEXT: Running pass: SimplifyCFGPass181; CHECK-O2-NEXT: Running pass: SLPVectorizerPass182; CHECK-O3-NEXT: Running pass: SLPVectorizerPass183; CHECK-Os-NEXT: Running pass: SLPVectorizerPass184; CHECK-O-NEXT: Running pass: VectorCombinePass185; CHECK-O-NEXT: Running pass: InstCombinePass186; CHECK-O-NEXT: Running pass: LoopUnrollPass187; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass188; CHECK-O-NEXT: Running pass: SROAPass189; CHECK-O-NEXT: Running pass: InferAlignmentPass190; CHECK-O-NEXT: Running pass: InstCombinePass191; CHECK-O-NEXT: Running pass: LoopSimplifyPass192; CHECK-O-NEXT: Running pass: LCSSAPass193; CHECK-O-NEXT: Running pass: LICMPass194; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass195; CHECK-O-NEXT: Running pass: LoopSinkPass196; CHECK-O-NEXT: Running pass: InstSimplifyPass197; CHECK-O-NEXT: Running pass: DivRemPairsPass198; CHECK-O-NEXT: Running pass: TailCallElimPass199; CHECK-O-NEXT: Running pass: SimplifyCFGPass200; CHECK-O-NEXT: Running pass: GlobalDCEPass201; CHECK-O-NEXT: Running pass: ConstantMergePass202; CHECK-O-NEXT: Running pass: CGProfilePass203; CHECK-O-NEXT: Running pass: RelLookupTableConverterPass204; CHECK-O-NEXT: Running pass: AnnotationRemarksPass on foo205; CHECK-O-NEXT: Running pass: PrintModulePass206 207; Make sure we get the IR back out without changes when we print the module.208; CHECK-O-LABEL: define void @foo(i32 %n) local_unnamed_addr209; CHECK-O-NEXT: entry:210; CHECK-O-NEXT:   br label %loop211; CHECK-O:      loop:212; CHECK-O-NEXT:   %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]213; CHECK-O-NEXT:   %iv.next = add i32 %iv, 1214; CHECK-O-NEXT:   tail call void @bar()215; CHECK-O-NEXT:   %cmp = icmp eq i32 %iv, %n216; CHECK-O-NEXT:   br i1 %cmp, label %exit, label %loop217; CHECK-O:      exit:218; CHECK-O-NEXT:   ret void219; CHECK-O-NEXT: }220;221; Ignore a bunch of intervening metadata containing profile data.222;223 224declare void @bar() local_unnamed_addr225 226define void @foo(i32 %n) local_unnamed_addr {227entry:228  br label %loop229loop:230  %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]231  %iv.next = add i32 %iv, 1232  tail call void @bar()233  %cmp = icmp eq i32 %iv, %n234  br i1 %cmp, label %exit, label %loop235exit:236  ret void237}238