forked from OSchip/llvm-project
[PassBuilder] Moved ProfileSummaryAnalysis in buildInlinerPipeline.
Summary: As commented in the code, ProfileSummaryAnalysis is required for inliner pass to query, so this patch moved RequireAnalysisPass<ProfileSummaryAnalysis> in the recently created buildInlinerPipeline. Reviewer: mtrofin, davidxl, tejohnson, dblaikie, jdoerfert, sstefan1 Reviewed By: mtrofin, davidxl, jdoerfert Subscribers: hiraditya, steven_wu, dexonsmith, wuzish, llvm-commits, jsji Tag: LLVM Differential Revision: https://reviews.llvm.org/D79696
This commit is contained in:
parent
989be65b11
commit
5c10c6e012
|
@ -698,6 +698,14 @@ ModulePassManager PassBuilder::buildInlinerPipeline(OptimizationLevel Level,
|
||||||
bool DebugLogging) {
|
bool DebugLogging) {
|
||||||
ModulePassManager MPM(DebugLogging);
|
ModulePassManager MPM(DebugLogging);
|
||||||
|
|
||||||
|
// Require the GlobalsAA analysis for the module so we can query it within
|
||||||
|
// the CGSCC pipeline.
|
||||||
|
MPM.addPass(RequireAnalysisPass<GlobalsAA, Module>());
|
||||||
|
|
||||||
|
// Require the ProfileSummaryAnalysis for the module so we can query it within
|
||||||
|
// the inliner pass.
|
||||||
|
MPM.addPass(RequireAnalysisPass<ProfileSummaryAnalysis, Module>());
|
||||||
|
|
||||||
// Now begin the main postorder CGSCC pipeline.
|
// Now begin the main postorder CGSCC pipeline.
|
||||||
// FIXME: The current CGSCC pipeline has its origins in the legacy pass
|
// FIXME: The current CGSCC pipeline has its origins in the legacy pass
|
||||||
// manager and trying to emulate its precise behavior. Much of this doesn't
|
// manager and trying to emulate its precise behavior. Much of this doesn't
|
||||||
|
@ -888,14 +896,6 @@ ModulePassManager PassBuilder::buildModuleSimplificationPipeline(
|
||||||
if (EnableSyntheticCounts && !PGOOpt)
|
if (EnableSyntheticCounts && !PGOOpt)
|
||||||
MPM.addPass(SyntheticCountsPropagation());
|
MPM.addPass(SyntheticCountsPropagation());
|
||||||
|
|
||||||
// Require the GlobalsAA analysis for the module so we can query it within
|
|
||||||
// the CGSCC pipeline.
|
|
||||||
MPM.addPass(RequireAnalysisPass<GlobalsAA, Module>());
|
|
||||||
|
|
||||||
// Require the ProfileSummaryAnalysis for the module so we can query it within
|
|
||||||
// the inliner pass.
|
|
||||||
MPM.addPass(RequireAnalysisPass<ProfileSummaryAnalysis, Module>());
|
|
||||||
|
|
||||||
MPM.addPass(buildInlinerPipeline(Level, Phase, DebugLogging));
|
MPM.addPass(buildInlinerPipeline(Level, Phase, DebugLogging));
|
||||||
return MPM;
|
return MPM;
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,13 +127,13 @@
|
||||||
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
|
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
|
||||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||||
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
|
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
|
||||||
|
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||||
|
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
|
||||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
|
||||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||||
|
|
|
@ -92,13 +92,13 @@
|
||||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||||
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
|
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
|
||||||
|
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||||
|
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||||
; CHECK-PRELINK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
; CHECK-PRELINK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
|
||||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
|
||||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||||
|
|
|
@ -66,12 +66,12 @@
|
||||||
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
||||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run.
|
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run.
|
||||||
|
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||||
|
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
|
||||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
|
||||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||||
|
|
|
@ -75,11 +75,11 @@
|
||||||
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
||||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo
|
; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo
|
||||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
||||||
|
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||||
|
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
|
||||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
|
||||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||||
|
|
|
@ -93,12 +93,12 @@
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on foo
|
; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on foo
|
||||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis on foo
|
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis on foo
|
||||||
|
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||||
|
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
|
||||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
|
||||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||||
|
|
|
@ -75,11 +75,11 @@
|
||||||
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
|
||||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo
|
; CHECK-O-NEXT: Running pass: SimplifyCFGPass on foo
|
||||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
||||||
|
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||||
|
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
|
||||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
|
||||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||||
|
|
Loading…
Reference in New Issue