brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.2 KiB · 7cacc17 Raw
259 lines · plain
1; Validate ThinLTO post link pipeline when we have instrumentation PGO2;3; Postlink pipelines:4; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \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:     -passes='thinlto<O2>' -S  %s 2>&1 \9; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext10; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \11; RUN:     -passes='thinlto<O3>' -S  %s 2>&1 \12; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,%llvmcheckext13; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \14; RUN:     -passes='thinlto<Os>' -S %s 2>&1 \15; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-Os,CHECK-O23SZ,%llvmcheckext16; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \17; RUN:     -passes='thinlto<Oz>' -S %s 2>&1 \18; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,%llvmcheckext19; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \20; RUN:     -passes='thinlto<O2>' -S  %s 2>&1 \21; RUN:     | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext22 23; Suppress FileCheck --allow-unused-prefixes=false diagnostics.24; CHECK-NOEXT: {{^}}25 26; CHECK-EP-PIPELINE-START: Running pass: NoOpModulePass27; CHECK-O: Running pass: PGOIndirectCallPromotion28; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis29; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy30; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis31; CHECK-O-NEXT: Running pass: OpenMPOptPass32; CHECK-O-NEXT: Running pass: LowerTypeTestsPass33; CHECK-O-NEXT: Running pass: IPSCCPPass34; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis35; CHECK-O-NEXT: Running analysis: AssumptionAnalysis36; CHECK-O-NEXT: Running analysis: TargetIRAnalysis37; CHECK-O-NEXT: Running pass: CalledValuePropagationPass38; CHECK-O-NEXT: Running pass: GlobalOptPass39; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis40; CHECK-O-NEXT: Running pass: PromotePass41; CHECK-O-NEXT: Running pass: InstCombinePass42; CHECK-O-NEXT: Running analysis: LastRunTrackingAnalysis43; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis44; CHECK-O-NEXT: Running analysis: AAManager45; CHECK-O-NEXT: Running analysis: BasicAA46; CHECK-O-NEXT: Running analysis: ScopedNoAliasAA47; CHECK-O-NEXT: Running analysis: TypeBasedAA48; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy49; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo50; CHECK-O-NEXT: Running analysis: BranchProbabilityAnalysis on foo51; CHECK-O-NEXT: Running analysis: LoopAnalysis on foo52; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo53; CHECK-O-NEXT: Running pass: SimplifyCFGPass54; CHECK-O-NEXT: Running pass: AlwaysInlinerPass55; CHECK-O-NEXT: Running pass: ModuleInlinerWrapperPass56; CHECK-O-NEXT: Running analysis: InlineAdvisorAnalysis57; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA58; CHECK-O-NEXT: Running analysis: GlobalsAA59; CHECK-O-NEXT: Running analysis: CallGraphAnalysis60; CHECK-O-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}AAManager61; CHECK-O-NEXT: Invalidating analysis: AAManager62; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis63; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy64; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis65; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy66; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>67; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass68; CHECK-O-NEXT: Running pass: InlinerPass69; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass70; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass71; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass72; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass73; CHECK-O-NEXT: Running pass: SROAPass74; CHECK-O-NEXT: Running pass: EarlyCSEPass75; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis76; CHECK-O-NEXT: Running analysis: AAManager77; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass78; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass79; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis80; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass81; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis82; CHECK-O-NEXT: Running pass: SimplifyCFGPass83; CHECK-O-NEXT: Running pass: InstCombinePass84; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass85; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass86; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass87; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass88; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass89; CHECK-O-NEXT: Running pass: SimplifyCFGPass90; CHECK-O-NEXT: Running pass: ReassociatePass91; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass92; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis93; CHECK-O-NEXT: Running pass: LoopSimplifyPass94; CHECK-O-NEXT: Running pass: LCSSAPass95; CHECK-O1-NEXT: Running analysis: ScalarEvolutionAnalysis96; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy97; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass98; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass99; CHECK-O-NEXT: Running pass: LICM100; CHECK-O-NEXT: Running pass: LoopRotatePass101; CHECK-O-NEXT: Running pass: LICM102; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass103; CHECK-O-NEXT: Running pass: SimplifyCFGPass104; CHECK-O-NEXT: Running pass: InstCombinePass105; CHECK-O-NEXT: Running pass: LoopSimplifyPass106; CHECK-O-NEXT: Running pass: LCSSAPass107; CHECK-O-NEXT: Running pass: LoopIdiomRecognizePass108; CHECK-O-NEXT: Running pass: IndVarSimplifyPass109; CHECK-O-NEXT: Running pass: LoopDeletionPass110; CHECK-O-NEXT: Running pass: LoopFullUnrollPass111; CHECK-O-NEXT: Running pass: SROAPass on foo112; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass113; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass114; CHECK-O23SZ-NEXT: Running pass: GVNPass115; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis116; CHECK-O1-NEXT: Running pass: MemCpyOptPass117; CHECK-O-NEXT: Running pass: SCCPPass118; CHECK-O-NEXT: Running pass: BDCEPass119; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis120; CHECK-O-NEXT: Running pass: InstCombinePass121; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass122; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis123; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass124; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis125; CHECK-O1-NEXT: Running pass: CoroElidePass126; CHECK-O-NEXT: Running pass: ADCEPass127; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass128; CHECK-O23SZ-NEXT: Running pass: DSEPass129; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo130; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass131; CHECK-O23SZ-NEXT: Running pass: LCSSAPass132; CHECK-O23SZ-NEXT: Running pass: LICMPass133; CHECK-O23SZ-NEXT: Running pass: CoroElidePass134; CHECK-O-NEXT: Running pass: SimplifyCFGPass135; CHECK-O-NEXT: Running pass: InstCombinePass136; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass137; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ShouldNotRunFunctionPassesAnalysis138; CHECK-O-NEXT: Running analysis: ShouldNotRunFunctionPassesAnalysis139; CHECK-O-NEXT: Running pass: CoroSplitPass140; CHECK-O-NEXT: Running pass: CoroAnnotationElidePass141; CHECK-O-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ShouldNotRunFunctionPassesAnalysis142; CHECK-O-NEXT: Invalidating analysis: ShouldNotRunFunctionPassesAnalysis143; CHECK-O-NEXT: Invalidating analysis: InlineAdvisorAnalysis144; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass145; CHECK-O-NEXT: Running pass: SimplifyTypeTestsPass146; CHECK-O-NEXT: Running pass: CoroCleanupPass147; CHECK-O-NEXT: Running pass: GlobalOptPass148; CHECK-O-NEXT: Running pass: GlobalDCEPass149; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass150; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass151; CHECK-O-NEXT: Running pass: RecomputeGlobalsAAPass152; CHECK-O-NEXT: Running pass: DropUnnecessaryAssumesPass153; CHECK-O-NEXT: Running pass: Float2IntPass154; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass155; CHECK-O3-NEXT: Running pass: ControlHeightReductionPass156; CHECK-O3-NEXT: Running analysis: RegionInfoAnalysis157; CHECK-O3-NEXT: Running analysis: DominanceFrontierAnalysis158; CHECK-EXT: Running pass: {{.*}}::Bye159; CHECK-O-NEXT: Running pass: LoopSimplifyPass on foo160; CHECK-O-NEXT: Running pass: LCSSAPass on foo161; CHECK-O-NEXT: Running pass: LoopRotatePass162; CHECK-O-NEXT: Running pass: LoopDeletionPass163; CHECK-O-NEXT: Running pass: LoopDistributePass164; CHECK-O-NEXT: Running analysis: LoopAccessAnalysis on foo165; CHECK-O-NEXT: Running pass: InjectTLIMappings166; CHECK-O-NEXT: Running pass: LoopVectorizePass167; CHECK-O-NEXT: Running pass: DropUnnecessaryAssumesPass168; CHECK-O-NEXT: Running pass: InferAlignmentPass169; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass170; CHECK-O-NEXT: Running pass: InstCombinePass171; CHECK-O-NEXT: Running pass: SimplifyCFGPass172; CHECK-O2-NEXT: Running pass: SLPVectorizerPass173; CHECK-O3-NEXT: Running pass: SLPVectorizerPass174; CHECK-Os-NEXT: Running pass: SLPVectorizerPass175; CHECK-O-NEXT: Running pass: VectorCombinePass176; CHECK-O-NEXT: Running pass: InstCombinePass177; CHECK-O-NEXT: Running pass: LoopUnrollPass178; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass179; CHECK-O-NEXT: Running pass: SROAPass180; CHECK-O-NEXT: Running pass: InferAlignmentPass181; CHECK-O-NEXT: Running pass: InstCombinePass182; CHECK-O-NEXT: Running pass: LoopSimplifyPass183; CHECK-O-NEXT: Running pass: LCSSAPass184; CHECK-O-NEXT: Running pass: LICMPass185; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass186; CHECK-O-NEXT: Running pass: LoopSinkPass187; CHECK-O-NEXT: Running pass: InstSimplifyPass188; CHECK-O-NEXT: Running pass: DivRemPairsPass189; CHECK-O-NEXT: Running pass: TailCallElimPass190; CHECK-O-NEXT: Running pass: SimplifyCFGPass191; CHECK-O-NEXT: Running pass: GlobalDCEPass192; CHECK-O-NEXT: Running pass: ConstantMergePass193; CHECK-O-NEXT: Running pass: CGProfilePass194; CHECK-O-NEXT: Running pass: RelLookupTableConverterPass195; CHECK-O-NEXT: Running pass: AnnotationRemarksPass on foo196; CHECK-O-NEXT: Running pass: PrintModulePass197 198; Make sure we get the IR back out without changes when we print the module.199; CHECK-O-LABEL: define void @foo(i32 %n) local_unnamed_addr {200; CHECK-O-NEXT: entry:201; CHECK-O-NEXT:   br label %loop202; CHECK-O:      loop:203; CHECK-O-NEXT:   %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]204; CHECK-O-NEXT:   %iv.next = add i32 %iv, 1205; CHECK-O-NEXT:   tail call void @bar()206; CHECK-O-NEXT:   %cmp = icmp eq i32 %iv, %n207; CHECK-O-NEXT:   br i1 %cmp, label %exit, label %loop208; CHECK-O:      exit:209; CHECK-O-NEXT:   ret void210; CHECK-O-NEXT: }211;212; Ignore a bunch of intervening metadata containing profile data.213;214 215declare void @bar() local_unnamed_addr216 217define void @foo(i32 %n) local_unnamed_addr {218entry:219  br label %loop220loop:221  %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]222  %iv.next = add i32 %iv, 1223  tail call void @bar()224  %cmp = icmp eq i32 %iv, %n225  br i1 %cmp, label %exit, label %loop226exit:227  ret void228}229 230!llvm.module.flags = !{!0}231 232!0 = !{i32 1, !"ProfileSummary", !1}233!1 = !{!2, !3, !4, !5, !6, !7, !8, !9}234!2 = !{!"ProfileFormat", !"InstrProf"}235!3 = !{!"TotalCount", i64 0}236!4 = !{!"MaxCount", i64 0}237!5 = !{!"MaxInternalCount", i64 0}238!6 = !{!"MaxFunctionCount", i64 0}239!7 = !{!"NumCounts", i64 0}240!8 = !{!"NumFunctions", i64 0}241!9 = !{!"DetailedSummary", !10}242!10 = !{!11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26}243!11 = !{i32 10000, i64 0, i32 0}244!12 = !{i32 100000, i64 0, i32 0}245!13 = !{i32 200000, i64 0, i32 0}246!14 = !{i32 300000, i64 0, i32 0}247!15 = !{i32 400000, i64 0, i32 0}248!16 = !{i32 500000, i64 0, i32 0}249!17 = !{i32 600000, i64 0, i32 0}250!18 = !{i32 700000, i64 0, i32 0}251!19 = !{i32 800000, i64 0, i32 0}252!20 = !{i32 900000, i64 0, i32 0}253!21 = !{i32 950000, i64 0, i32 0}254!22 = !{i32 990000, i64 0, i32 0}255!23 = !{i32 999000, i64 0, i32 0}256!24 = !{i32 999900, i64 0, i32 0}257!25 = !{i32 999990, i64 0, i32 0}258!26 = !{i32 999999, i64 0, i32 0}259