diff options
| author | Teresa Johnson <tejohnson@google.com> | 2020-01-13 11:01:48 -0800 |
|---|---|---|
| committer | Teresa Johnson <tejohnson@google.com> | 2020-01-13 11:01:48 -0800 |
| commit | 6288f86e870c7bb7fe47cc138320b9eb34c93941 (patch) | |
| tree | 797a09a7ff501a0b2651a84935492c3cb66874da /llvm/test/Other | |
| parent | cb988a858abbaf1a1ae0fe03f2a1dae692131ea9 (diff) | |
| download | bcm5719-llvm-6288f86e870c7bb7fe47cc138320b9eb34c93941.tar.gz bcm5719-llvm-6288f86e870c7bb7fe47cc138320b9eb34c93941.zip | |
Revert "[ThinLTO] Add additional ThinLTO pipeline testing with new PM"
This reverts commit 2af97be8027a0823b88d4b6a07fc5eedb440bc1f.
After attempting to fix bot failures from matching issues (mostly due to
inconsistent printing of "llvm::" prefixes on objects, and
AnalysisManager objects being printed differntly, I am now seeing some
differences I don't understand (real differences in the passes being
printed). Giving up at this point to allow the bots to recover. Will
revisit later.
Diffstat (limited to 'llvm/test/Other')
7 files changed, 0 insertions, 1018 deletions
diff --git a/llvm/test/Other/Inputs/new-pm-thinlto-prelink-pgo-defaults.proftext b/llvm/test/Other/Inputs/new-pm-thinlto-prelink-pgo-defaults.proftext deleted file mode 100644 index 04a7c1c1a35..00000000000 --- a/llvm/test/Other/Inputs/new-pm-thinlto-prelink-pgo-defaults.proftext +++ /dev/null @@ -1 +0,0 @@ -:ir diff --git a/llvm/test/Other/Inputs/new-pm-thinlto-samplepgo-defaults.prof b/llvm/test/Other/Inputs/new-pm-thinlto-samplepgo-defaults.prof deleted file mode 100644 index 4642cb92648..00000000000 --- a/llvm/test/Other/Inputs/new-pm-thinlto-samplepgo-defaults.prof +++ /dev/null @@ -1 +0,0 @@ -foo:0:0 diff --git a/llvm/test/Other/new-pm-pgo.ll b/llvm/test/Other/new-pm-pgo.ll index 610f200c19d..ab9f084c38c 100644 --- a/llvm/test/Other/new-pm-pgo.ll +++ b/llvm/test/Other/new-pm-pgo.ll @@ -1,8 +1,6 @@ ; RUN: opt -debug-pass-manager -passes='default<O2>' -pgo-kind=pgo-instr-gen-pipeline -profile-file='temp' %s 2>&1 |FileCheck %s --check-prefixes=GEN ; RUN: llvm-profdata merge %S/Inputs/new-pm-pgo.proftext -o %t.profdata ; RUN: opt -debug-pass-manager -passes='default<O2>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE -; RUN: opt -debug-pass-manager -passes='thinlto-pre-link<O2>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE -; RUN: opt -debug-pass-manager -passes='thinlto<O2>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE_POST_LINK ; RUN: opt -debug-pass-manager -passes='default<O2>' -hot-cold-split -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE --check-prefixes=SPLIT ; RUN: opt -debug-pass-manager -passes='default<O2>' -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-pgo.prof' %s 2>&1 \ ; RUN: |FileCheck %s --check-prefixes=SAMPLE_USE,SAMPLE_USE_O @@ -16,8 +14,6 @@ ; USE: Running pass: PGOInstrumentationUse ; USE: Running pass: PGOIndirectCallPromotion ; USE: Running pass: PGOMemOPSizeOpt -; USE_POST_LINK: Running pass: PGOIndirectCallPromotion -; USE_POST_LINK: Running pass: PGOMemOPSizeOpt ; SAMPLE_USE_O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}> ; SAMPLE_USE_PRE_LINK: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}> ; SAMPLE_USE: Running pass: SimplifyCFGPass @@ -29,7 +25,6 @@ ; SAMPLE_USE_O: Running pass: PGOIndirectCallPromotion ; SAMPLE_USE_POST_LINK-NOT: Running pass: GlobalOptPass ; SAMPLE_USE_POST_LINK: Running pass: PGOIndirectCallPromotion -; SAMPLE_USE_PRE_LINK-NOT: Running pass: PGOIndirectCallPromotion ; SAMPLE_GEN: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}> ; SPLIT: Running pass: HotColdSplittingPass diff --git a/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll deleted file mode 100644 index 843a0a04ae0..00000000000 --- a/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll +++ /dev/null @@ -1,280 +0,0 @@ -; Validate ThinLTO post link pipeline when we have instrumentation PGO -; -; Postlink pipelines: -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -passes='thinlto<O1>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,%llvmcheckext --dump-input=fail -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -passes='thinlto<O2>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext --dump-input=fail -; RUN: opt -disable-verify -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \ -; RUN: -passes='thinlto<O3>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,%llvmcheckext --dump-input=fail -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -passes='thinlto<Os>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Os,CHECK-O23SZ,%llvmcheckext --dump-input=fail -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -passes='thinlto<Oz>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Oz,CHECK-O23SZ,%llvmcheckext --dump-input=fail -; RUN: opt -disable-verify -debug-pass-manager -new-pm-debug-info-for-profiling \ -; RUN: -passes='thinlto<O2>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext --dump-input=fail -; -; CHECK-O: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass -; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PGOIndirectCallPromotion -; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running analysis: TargetIRAnalysis -; CHECK-O-NEXT: Running analysis: AssumptionAnalysis -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running pass: LowerExpectIntrinsicPass -; CHECK-O3-NEXT: Running pass: CallSiteSplittingPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: IPSCCPPass -; CHECK-O-NEXT: Running pass: CalledValuePropagationPass -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass> -; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running analysis: AAManager -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo -; These next two can appear in any order since they are accessed as parameters -; on the same call to BlockFrequencyInfo::calculate. -; CHECK-O-DAG: Running analysis: BranchProbabilityAnalysis on foo -; CHECK-O-DAG: Running analysis: LoopAnalysis on foo -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -; CHECK-O-NEXT: Running analysis: GlobalsAA -; CHECK-O-NEXT: Running analysis: CallGraphAnalysis -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}> -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis -; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}> -; CHECK-O-NEXT: Starting CGSCC pass manager run. -; CHECK-O-NEXT: Running pass: InlinerPass -; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass -; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass -; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis -; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: ReassociatePass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass -; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass -; CHECK-O-NEXT: Running pass: LoopRotatePass -; CHECK-O-NEXT: Running pass: LICM -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running pass: IndVarSimplifyPass -; CHECK-O-NEXT: Running pass: LoopIdiomRecognizePass -; CHECK-O-NEXT: Running pass: LoopDeletionPass -; CHECK-O-NEXT: Running pass: LoopFullUnrollPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SROA on foo -; CHECK-Os-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Os-NEXT: Running pass: GVN -; CHECK-Os-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Os-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-Oz-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Oz-NEXT: Running pass: GVN -; CHECK-Oz-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Oz-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O2-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O2-NEXT: Running pass: GVN -; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O3-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O3-NEXT: Running pass: GVN -; CHECK-O3-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O3-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: MemCpyOptPass -; CHECK-O1-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O1-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: SCCPPass -; CHECK-O-NEXT: Running pass: BDCEPass -; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O23SZ-NEXT: Running pass: DSEPass -; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}> -; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass -; CHECK-O23SZ-NEXT: Running pass: LCSSAPass -; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: ADCEPass -; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Finished CGSCC pass manager run. -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running pass: GlobalDCEPass -; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass -; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: Float2IntPass -; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass -; CHECK-EXT: Running pass: {{.*}}::Bye -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopDistributePass -; CHECK-O-NEXT: Running pass: LoopVectorizePass -; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass -; CHECK-O-NEXT: Running analysis: LoopAccessAnalysis -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O2-NEXT: Running pass: SLPVectorizerPass -; CHECK-O3-NEXT: Running pass: SLPVectorizerPass -; CHECK-Os-NEXT: Running pass: SLPVectorizerPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: LoopUnrollPass -; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass -; CHECK-O-NEXT: Running pass: LoopSinkPass -; CHECK-O-NEXT: Running pass: InstSimplifyPass -; CHECK-O-NEXT: Running pass: DivRemPairsPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: SpeculateAroundPHIsPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: CGProfilePass -; CHECK-O-NEXT: Running pass: GlobalDCEPass -; CHECK-O-NEXT: Running pass: ConstantMergePass -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PrintModulePass - -; Make sure we get the IR back out without changes when we print the module. -; CHECK-O-LABEL: define void @foo(i32 %n) local_unnamed_addr { -; CHECK-O-NEXT: entry: -; CHECK-O-NEXT: br label %loop -; CHECK-O: loop: -; CHECK-O-NEXT: %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] -; CHECK-O-NEXT: %iv.next = add i32 %iv, 1 -; CHECK-O-NEXT: tail call void @bar() -; CHECK-O-NEXT: %cmp = icmp eq i32 %iv, %n -; CHECK-O-NEXT: br i1 %cmp, label %exit, label %loop -; CHECK-O: exit: -; CHECK-O-NEXT: ret void -; CHECK-O-NEXT: } -; -; Ignore a bunch of intervening metadata containing profile data. -; -; CHECK-O: Finished {{.*}}Module pass manager run. - -declare void @bar() local_unnamed_addr - -define void @foo(i32 %n) local_unnamed_addr { -entry: - br label %loop -loop: - %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] - %iv.next = add i32 %iv, 1 - tail call void @bar() - %cmp = icmp eq i32 %iv, %n - br i1 %cmp, label %exit, label %loop -exit: - ret void -} - -!llvm.module.flags = !{!0} - -!0 = !{i32 1, !"ProfileSummary", !1} -!1 = !{!2, !3, !4, !5, !6, !7, !8, !9} -!2 = !{!"ProfileFormat", !"InstrProf"} -!3 = !{!"TotalCount", i64 0} -!4 = !{!"MaxCount", i64 0} -!5 = !{!"MaxInternalCount", i64 0} -!6 = !{!"MaxFunctionCount", i64 0} -!7 = !{!"NumCounts", i64 0} -!8 = !{!"NumFunctions", i64 0} -!9 = !{!"DetailedSummary", !10} -!10 = !{!11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26} -!11 = !{i32 10000, i64 0, i32 0} -!12 = !{i32 100000, i64 0, i32 0} -!13 = !{i32 200000, i64 0, i32 0} -!14 = !{i32 300000, i64 0, i32 0} -!15 = !{i32 400000, i64 0, i32 0} -!16 = !{i32 500000, i64 0, i32 0} -!17 = !{i32 600000, i64 0, i32 0} -!18 = !{i32 700000, i64 0, i32 0} -!19 = !{i32 800000, i64 0, i32 0} -!20 = !{i32 900000, i64 0, i32 0} -!21 = !{i32 950000, i64 0, i32 0} -!22 = !{i32 990000, i64 0, i32 0} -!23 = !{i32 999000, i64 0, i32 0} -!24 = !{i32 999900, i64 0, i32 0} -!25 = !{i32 999990, i64 0, i32 0} -!26 = !{i32 999999, i64 0, i32 0} diff --git a/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll deleted file mode 100644 index 4063913a6b4..00000000000 --- a/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll +++ /dev/null @@ -1,261 +0,0 @@ -; Validate ThinLTO postlink pipeline when we have Sample PGO -; -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto<O1>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,%llvmcheckext -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto<O2>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext -; RUN: opt -disable-verify -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto<O3>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,%llvmcheckext -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto<Os>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Os,CHECK-O23SZ,%llvmcheckext -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto<Oz>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Oz,CHECK-O23SZ,%llvmcheckext -; RUN: opt -disable-verify -debug-pass-manager -new-pm-debug-info-for-profiling \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto<O2>' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext -; -; CHECK-O: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass -; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running analysis: TargetIRAnalysis -; CHECK-O-NEXT: Running analysis: AssumptionAnalysis -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running pass: LowerExpectIntrinsicPass -; CHECK-O3-NEXT: Running pass: CallSiteSplittingPass -; CHECK-O-NEXT: Running pass: InstCombinePass on foo -; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on foo -; CHECK-O-NEXT: Running analysis: AAManager on foo -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SampleProfileLoaderPass -; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis -; CHECK-O-NEXT: Running analysis: CallGraphAnalysis -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: PGOIndirectCallPromotion -; CHECK-O-NEXT: Running pass: IPSCCPPass -; CHECK-O-NEXT: Running pass: CalledValuePropagationPass -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass> -; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo -; These next two can appear in any order since they are accessed as parameters -; on the same call to BlockFrequencyInfo::calculate. -; CHECK-O-DAG: Running analysis: BranchProbabilityAnalysis on foo -; CHECK-O-DAG: Running analysis: LoopAnalysis on foo -; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -; CHECK-O-NEXT: Running analysis: GlobalsAA -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}> -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis -; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}> -; CHECK-O-NEXT: Starting CGSCC pass manager run. -; CHECK-O-NEXT: Running pass: InlinerPass -; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass -; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass -; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis -; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: ReassociatePass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass -; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass -; CHECK-O-NEXT: Running pass: LoopRotatePass -; CHECK-O-NEXT: Running pass: LICM -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running pass: IndVarSimplifyPass -; CHECK-O-NEXT: Running pass: LoopIdiomRecognizePass -; CHECK-O-NEXT: Running pass: LoopDeletionPass -; CHECK-O-NEXT: Running pass: LoopFullUnrollPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SROA on foo -; CHECK-Os-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Os-NEXT: Running pass: GVN -; CHECK-Os-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Os-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-Oz-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Oz-NEXT: Running pass: GVN -; CHECK-Oz-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Oz-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O2-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O2-NEXT: Running pass: GVN -; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O3-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O3-NEXT: Running pass: GVN -; CHECK-O3-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O3-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: MemCpyOptPass -; CHECK-O1-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O1-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: SCCPPass -; CHECK-O-NEXT: Running pass: BDCEPass -; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O23SZ-NEXT: Running pass: DSEPass -; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}> -; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass -; CHECK-O23SZ-NEXT: Running pass: LCSSAPass -; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: ADCEPass -; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O3-NEXT: Running pass: ControlHeightReductionPass on foo -; CHECK-O3-NEXT: Running analysis: RegionInfoAnalysis on foo -; CHECK-O3-NEXT: Running analysis: DominanceFrontierAnalysis on foo -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Finished CGSCC pass manager run. -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running pass: GlobalDCEPass -; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass -; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: Float2IntPass -; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass -; CHECK-EXT: Running pass: {{.*}}::Bye -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopDistributePass -; CHECK-O-NEXT: Running pass: LoopVectorizePass -; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass -; CHECK-O-NEXT: Running analysis: LoopAccessAnalysis -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O2-NEXT: Running pass: SLPVectorizerPass -; CHECK-O3-NEXT: Running pass: SLPVectorizerPass -; CHECK-Os-NEXT: Running pass: SLPVectorizerPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: LoopUnrollPass -; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass -; CHECK-O-NEXT: Running pass: LoopSinkPass -; CHECK-O-NEXT: Running pass: InstSimplifyPass -; CHECK-O-NEXT: Running pass: DivRemPairsPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: SpeculateAroundPHIsPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: CGProfilePass -; CHECK-O-NEXT: Running pass: GlobalDCEPass -; CHECK-O-NEXT: Running pass: ConstantMergePass -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PrintModulePass - -; Make sure we get the IR back out without changes when we print the module. -; CHECK-O-LABEL: define void @foo(i32 %n) local_unnamed_addr -; CHECK-O-NEXT: entry: -; CHECK-O-NEXT: br label %loop -; CHECK-O: loop: -; CHECK-O-NEXT: %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] -; CHECK-O-NEXT: %iv.next = add i32 %iv, 1 -; CHECK-O-NEXT: tail call void @bar() -; CHECK-O-NEXT: %cmp = icmp eq i32 %iv, %n -; CHECK-O-NEXT: br i1 %cmp, label %exit, label %loop -; CHECK-O: exit: -; CHECK-O-NEXT: ret void -; CHECK-O-NEXT: } -; -; Ignore a bunch of intervening metadata containing profile data. -; -; CHECK-O: Finished {{.*}}Module pass manager run. - -declare void @bar() local_unnamed_addr - -define void @foo(i32 %n) local_unnamed_addr { -entry: - br label %loop -loop: - %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] - %iv.next = add i32 %iv, 1 - tail call void @bar() - %cmp = icmp eq i32 %iv, %n - br i1 %cmp, label %exit, label %loop -exit: - ret void -} diff --git a/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll deleted file mode 100644 index 5f91a3ff2ec..00000000000 --- a/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll +++ /dev/null @@ -1,255 +0,0 @@ -; Validate ThinLTO prelink pipeline when we have instrumentation PGO -; -; RUN: llvm-profdata merge %S/Inputs/new-pm-thinlto-prelink-pgo-defaults.proftext -o %t.profdata -; -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \ -; RUN: -passes='thinlto-pre-link<O1>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,CHECK-O-NODIS,CHECK-O123 -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \ -; RUN: -passes='thinlto-pre-link<O2>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O-NODIS,CHECK-O123 -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \ -; RUN: -passes='thinlto-pre-link<O3>,name-anon-globals' -S -passes-ep-pipeline-start='no-op-module' %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-O123,CHECK-EP-PIPELINE-START -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \ -; RUN: -passes='thinlto-pre-link<Os>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Os,CHECK-O23SZ,CHECK-O-NODIS -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \ -; RUN: -passes='thinlto-pre-link<Oz>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Oz,CHECK-O23SZ,CHECK-O-NODIS -; RUN: opt -disable-verify -debug-pass-manager -new-pm-debug-info-for-profiling \ -; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \ -; RUN: -passes='thinlto-pre-link<O2>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O123 -; -; CHECK-O: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass -; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running analysis: TargetIRAnalysis -; CHECK-O-NEXT: Running analysis: AssumptionAnalysis -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running pass: LowerExpectIntrinsicPass -; CHECK-O3-NEXT: Running pass: CallSiteSplittingPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: IPSCCPPass -; CHECK-O-NEXT: Running pass: CalledValuePropagationPass -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass> -; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running analysis: AAManager -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O123-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}PassManager<{{.*}}LazyCallGraph::SCC -; CHECK-O123-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O123-NEXT: Running analysis: LazyCallGraphAnalysis -; CHECK-O123-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (foo) -; CHECK-O123-NEXT: Running analysis: PassInstrumentationAnalysis on (foo) -; CHECK-O123-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O123-NEXT: Starting CGSCC pass manager run. -; CHECK-O123-NEXT: Running pass: InlinerPass on (foo) -; CHECK-O123-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function> > on (foo) -; CHECK-O123-NEXT: Finished CGSCC pass manager run. -; CHECK-O123-NEXT: Running pass: GlobalDCEPass -; CHECK-O-NEXT: Running pass: PGOInstrumentationUse -; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis -; These next two can appear in any order since they are accessed as parameters -; on the same call to BlockFrequencyInfo::calculate. -; CHECK-O-DAG: Running analysis: BranchProbabilityAnalysis on foo -; CHECK-O-DAG: Running analysis: LoopAnalysis on foo -; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo -; CHECK-O-NEXT: Invalidating all non-preserved analyses for: -; CHECK-O-NEXT: Invalidating analysis: InnerAnalysisManagerProxy -; CHECK-O123-NEXT: Invalidating analysis: LazyCallGraphAnalysis on -; CHECK-O123-NEXT: Invalidating analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: PGOIndirectCallPromotion on -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on foo -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis on foo -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -; CHECK-O-NEXT: Running analysis: GlobalsAA -; CHECK-O-NEXT: Running analysis: CallGraphAnalysis -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}> -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis on foo -; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}> -; CHECK-O-NEXT: Starting CGSCC pass manager run. -; CHECK-O-NEXT: Running pass: InlinerPass -; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass -; CHECK-O-NEXT: Running analysis: AAManager on foo -; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass -; CHECK-O3-NEXT: Running analysis: TargetIRAnalysis -; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis on foo -; CHECK-O-NEXT: Running analysis: AssumptionAnalysis on foo -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O1-NEXT: Running analysis: TargetIRAnalysis on foo -; CHECK-O2-NEXT: Running analysis: TargetIRAnalysis on foo -; CHECK-Os-NEXT: Running analysis: TargetIRAnalysis on foo -; CHECK-Oz-NEXT: Running analysis: TargetIRAnalysis on foo -; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis -; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo -; These next two can appear in any order since they are accessed as parameters -; on the same call to BlockFrequencyInfo::calculate. -; CHECK-O-DAG: Running analysis: BranchProbabilityAnalysis on foo -; CHECK-O-DAG: Running analysis: LoopAnalysis on foo -; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O2-NEXT: Running pass: PGOMemOPSizeOpt -; CHECK-O3-NEXT: Running pass: PGOMemOPSizeOpt -; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: ReassociatePass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass -; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass -; CHECK-O-NEXT: Running pass: LoopRotatePass -; CHECK-O-NEXT: Running pass: LICM -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running pass: IndVarSimplifyPass -; CHECK-O-NEXT: Running pass: LoopIdiomRecognizePass -; CHECK-O-NEXT: Running pass: LoopDeletionPass -; CHECK-O-NEXT: Running pass: LoopFullUnrollPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SROA on foo -; CHECK-Os-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Os-NEXT: Running pass: GVN -; CHECK-Os-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Os-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-Oz-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Oz-NEXT: Running pass: GVN -; CHECK-Oz-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Oz-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O2-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O2-NEXT: Running pass: GVN -; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O3-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O3-NEXT: Running pass: GVN -; CHECK-O3-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O3-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: MemCpyOptPass -; CHECK-O1-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O1-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: SCCPPass -; CHECK-O-NEXT: Running pass: BDCEPass -; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O23SZ-NEXT: Running pass: DSEPass -; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}> -; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass -; CHECK-O23SZ-NEXT: Running pass: LCSSAPass -; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: ADCEPass -; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O3-NEXT: Running pass: ControlHeightReductionPass on foo -; CHECK-O3-NEXT: Running analysis: RegionInfoAnalysis on foo -; CHECK-O3-NEXT: Running analysis: DominanceFrontierAnalysis on foo -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Finished CGSCC pass manager run. -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis on bar -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis on bar -; CHECK-EXT: Running pass: {{.*}}::Bye -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: NameAnonGlobalPass -; CHECK-O-NEXT: Running pass: PrintModulePass - -; Make sure we get the IR back out without changes when we print the module. -; CHECK-O-LABEL: define void @foo(i32 %n) local_unnamed_addr { -; CHECK-O-NEXT: entry: -; CHECK-O-NEXT: br label %loop -; CHECK-O: loop: -; CHECK-O-NEXT: %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] -; CHECK-O-NEXT: %iv.next = add i32 %iv, 1 -; CHECK-O-NEXT: tail call void @bar() -; CHECK-O-NEXT: %cmp = icmp eq i32 %iv, %n -; CHECK-O-NEXT: br i1 %cmp, label %exit, label %loop -; CHECK-O: exit: -; CHECK-O-NEXT: ret void -; CHECK-O-NEXT: } -; -; Ignore a bunch of intervening metadata containing profile data. -; -; CHECK-O: Finished {{.*}}Module pass manager run. - -declare void @bar() local_unnamed_addr - -define void @foo(i32 %n) local_unnamed_addr { -entry: - br label %loop -loop: - %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] - %iv.next = add i32 %iv, 1 - tail call void @bar() - %cmp = icmp eq i32 %iv, %n - br i1 %cmp, label %exit, label %loop -exit: - ret void -} diff --git a/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll deleted file mode 100644 index 595c0f2d388..00000000000 --- a/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll +++ /dev/null @@ -1,215 +0,0 @@ -; Validate ThinLTO prelink pipeline when we have Sample PGO -; -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto-pre-link<O1>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,CHECK-O-NODIS,CHECK-O123 -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto-pre-link<O2>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O-NODIS,CHECK-O123 -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto-pre-link<O3>,name-anon-globals' -S -passes-ep-pipeline-start='no-op-module' %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-O123,CHECK-EP-PIPELINE-START -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto-pre-link<Os>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Os,CHECK-O23SZ,CHECK-O-NODIS -; RUN: opt -disable-verify -debug-pass-manager \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto-pre-link<Oz>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-Oz,CHECK-O23SZ,CHECK-O-NODIS -; RUN: opt -disable-verify -debug-pass-manager -new-pm-debug-info-for-profiling \ -; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \ -; RUN: -passes='thinlto-pre-link<O2>,name-anon-globals' -S %s 2>&1 \ -; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O123 -; -; CHECK-O: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass> -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass -; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running analysis: TargetIRAnalysis -; CHECK-O-NEXT: Running analysis: AssumptionAnalysis -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running analysis: DominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis -; CHECK-O-NEXT: Running pass: LowerExpectIntrinsicPass -; CHECK-O3-NEXT: Running pass: CallSiteSplittingPass -; CHECK-O-NEXT: Running pass: InstCombinePass on foo -; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on foo -; CHECK-O-NEXT: Running analysis: AAManager on foo -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SampleProfileLoaderPass -; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis -; CHECK-O-NEXT: Running analysis: CallGraphAnalysis -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: IPSCCPPass -; CHECK-O-NEXT: Running pass: CalledValuePropagationPass -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass> -; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass -; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo -; These next two can appear in any order since they are accessed as parameters -; on the same call to BlockFrequencyInfo::calculate. -; CHECK-O-DAG: Running analysis: BranchProbabilityAnalysis on foo -; CHECK-O-DAG: Running analysis: LoopAnalysis on foo -; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA -; CHECK-O-NEXT: Running analysis: GlobalsAA -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis -; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}> -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis -; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}> -; CHECK-O-NEXT: Starting CGSCC pass manager run. -; CHECK-O-NEXT: Running pass: InlinerPass -; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass -; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass -; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run. -; CHECK-O-NEXT: Running pass: SROA -; CHECK-O-NEXT: Running pass: EarlyCSEPass -; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis -; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass -; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: ReassociatePass -; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis -; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis -; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass -; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass -; CHECK-O-NEXT: Running pass: LoopRotatePass -; CHECK-O-NEXT: Running pass: LICM -; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy -; CHECK-O-NEXT: Running pass: SimpleLoopUnswitchPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}> -; CHECK-O-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: LoopSimplifyPass -; CHECK-O-NEXT: Running pass: LCSSAPass -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Starting Loop pass manager run. -; CHECK-O-NEXT: Running pass: IndVarSimplifyPass -; CHECK-O-NEXT: Running pass: LoopIdiomRecognizePass -; CHECK-O-NEXT: Running pass: LoopDeletionPass -; CHECK-O-NEXT: Finished Loop pass manager run. -; CHECK-O-NEXT: Running pass: SROA on foo -; CHECK-Os-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Os-NEXT: Running pass: GVN -; CHECK-Os-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Os-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-Oz-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-Oz-NEXT: Running pass: GVN -; CHECK-Oz-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-Oz-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O2-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O2-NEXT: Running pass: GVN -; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O3-NEXT: Running pass: MergedLoadStoreMotionPass -; CHECK-O3-NEXT: Running pass: GVN -; CHECK-O3-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O3-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: MemCpyOptPass -; CHECK-O1-NEXT: Running analysis: MemoryDependenceAnalysis -; CHECK-O1-NEXT: Running analysis: PhiValuesAnalysis -; CHECK-O-NEXT: Running pass: SCCPPass -; CHECK-O-NEXT: Running pass: BDCEPass -; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass -; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass -; CHECK-O23SZ-NEXT: Running pass: DSEPass -; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}> -; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run -; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass -; CHECK-O23SZ-NEXT: Running pass: LCSSAPass -; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run -; CHECK-O-NEXT: Running pass: ADCEPass -; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis -; CHECK-O-NEXT: Running pass: SimplifyCFGPass -; CHECK-O-NEXT: Running pass: InstCombinePass -; CHECK-O3-NEXT: Running pass: ControlHeightReductionPass on foo -; CHECK-O3-NEXT: Running analysis: RegionInfoAnalysis on foo -; CHECK-O3-NEXT: Running analysis: DominanceFrontierAnalysis on foo -; CHECK-O-NEXT: Finished {{.*}}Function pass manager run. -; CHECK-O-NEXT: Finished CGSCC pass manager run. -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: GlobalOptPass -; CHECK-O-NEXT: Finished {{.*}}Module pass manager run. -; CHECK-O-NEXT: Running pass: NameAnonGlobalPass -; CHECK-O-NEXT: Running pass: PrintModulePass - -; Make sure we get the IR back out without changes when we print the module. -; CHECK-O-LABEL: define void @foo(i32 %n) local_unnamed_addr -; CHECK-O-NEXT: entry: -; CHECK-O-NEXT: br label %loop -; CHECK-O: loop: -; CHECK-O-NEXT: %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] -; CHECK-O-NEXT: %iv.next = add i32 %iv, 1 -; CHECK-O-NEXT: tail call void @bar() -; CHECK-O-NEXT: %cmp = icmp eq i32 %iv, %n -; CHECK-O-NEXT: br i1 %cmp, label %exit, label %loop -; CHECK-O: exit: -; CHECK-O-NEXT: ret void -; CHECK-O-NEXT: } -; -; Ignore a bunch of intervening metadata containing profile data. -; -; CHECK-O: Finished {{.*}}Module pass manager run. - -declare void @bar() local_unnamed_addr - -define void @foo(i32 %n) local_unnamed_addr { -entry: - br label %loop -loop: - %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] - %iv.next = add i32 %iv, 1 - tail call void @bar() - %cmp = icmp eq i32 %iv, %n - br i1 %cmp, label %exit, label %loop -exit: - ret void -} |

