forked from OSchip/llvm-project
[CSSPGO] Turn off PseudoProbeUpdatePass for non-FDO builds.
PseudoProbeUpdatePass is used to distribute sample counts among dulplicated probes. It doesn't make sense for it to run without a sample profile. The pass takes 1% of the build time. Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D111847
This commit is contained in:
parent
a1e78aee66
commit
42ad7e1bc9
|
@ -1202,7 +1202,8 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
|
||||||
// Now add the optimization pipeline.
|
// Now add the optimization pipeline.
|
||||||
MPM.addPass(buildModuleOptimizationPipeline(Level, LTOPreLink));
|
MPM.addPass(buildModuleOptimizationPipeline(Level, LTOPreLink));
|
||||||
|
|
||||||
if (PGOOpt && PGOOpt->PseudoProbeForProfiling)
|
if (PGOOpt && PGOOpt->PseudoProbeForProfiling &&
|
||||||
|
PGOOpt->Action == PGOOptions::SampleUse)
|
||||||
MPM.addPass(PseudoProbeUpdatePass());
|
MPM.addPass(PseudoProbeUpdatePass());
|
||||||
|
|
||||||
// Emit annotation remarks.
|
// Emit annotation remarks.
|
||||||
|
@ -1258,7 +1259,8 @@ PassBuilder::buildThinLTOPreLinkDefaultPipeline(OptimizationLevel Level) {
|
||||||
// on these, we schedule the cleanup here.
|
// on these, we schedule the cleanup here.
|
||||||
MPM.addPass(createModuleToFunctionPassAdaptor(CoroCleanupPass()));
|
MPM.addPass(createModuleToFunctionPassAdaptor(CoroCleanupPass()));
|
||||||
|
|
||||||
if (PGOOpt && PGOOpt->PseudoProbeForProfiling)
|
if (PGOOpt && PGOOpt->PseudoProbeForProfiling &&
|
||||||
|
PGOOpt->Action == PGOOptions::SampleUse)
|
||||||
MPM.addPass(PseudoProbeUpdatePass());
|
MPM.addPass(PseudoProbeUpdatePass());
|
||||||
|
|
||||||
// Handle OptimizerLastEPCallbacks added by clang on PreLink. Actual
|
// Handle OptimizerLastEPCallbacks added by clang on PreLink. Actual
|
||||||
|
|
Loading…
Reference in New Issue