@@ -1601,9 +1601,9 @@ PassBuilder::buildModuleOptimizationPipeline(OptimizationLevel Level,
16011601
16021602ModulePassManager
16031603PassBuilder::buildPerModuleDefaultPipeline (OptimizationLevel Level,
1604- bool LTOPreLink ) {
1604+ ThinOrFullLTOPhase Phase ) {
16051605 if (Level == OptimizationLevel::O0)
1606- return buildO0DefaultPipeline (Level, LTOPreLink );
1606+ return buildO0DefaultPipeline (Level, Phase );
16071607
16081608 ModulePassManager MPM;
16091609
@@ -1619,14 +1619,11 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
16191619 // Apply module pipeline start EP callback.
16201620 invokePipelineStartEPCallbacks (MPM, Level);
16211621
1622- const ThinOrFullLTOPhase LTOPhase = LTOPreLink
1623- ? ThinOrFullLTOPhase::FullLTOPreLink
1624- : ThinOrFullLTOPhase::None;
16251622 // Add the core simplification pipeline.
1626- MPM.addPass (buildModuleSimplificationPipeline (Level, LTOPhase ));
1623+ MPM.addPass (buildModuleSimplificationPipeline (Level, Phase ));
16271624
16281625 // Now add the optimization pipeline.
1629- MPM.addPass (buildModuleOptimizationPipeline (Level, LTOPhase ));
1626+ MPM.addPass (buildModuleOptimizationPipeline (Level, Phase ));
16301627
16311628 if (PGOOpt && PGOOpt->PseudoProbeForProfiling &&
16321629 PGOOpt->Action == PGOOptions::SampleUse)
@@ -1635,7 +1632,7 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
16351632 // Emit annotation remarks.
16361633 addAnnotationRemarksPass (MPM);
16371634
1638- if (LTOPreLink )
1635+ if (isLTOPreLink (Phase) )
16391636 addRequiredLTOPreLinkPasses (MPM);
16401637 return MPM;
16411638}
@@ -1673,7 +1670,7 @@ PassBuilder::buildFatLTODefaultPipeline(OptimizationLevel Level, bool ThinLTO,
16731670ModulePassManager
16741671PassBuilder::buildThinLTOPreLinkDefaultPipeline (OptimizationLevel Level) {
16751672 if (Level == OptimizationLevel::O0)
1676- return buildO0DefaultPipeline (Level, /* LTOPreLink */ true );
1673+ return buildO0DefaultPipeline (Level, ThinOrFullLTOPhase::ThinLTOPreLink );
16771674
16781675 ModulePassManager MPM;
16791676
@@ -1794,7 +1791,7 @@ ModulePassManager
17941791PassBuilder::buildLTOPreLinkDefaultPipeline (OptimizationLevel Level) {
17951792 // FIXME: We should use a customized pre-link pipeline!
17961793 return buildPerModuleDefaultPipeline (Level,
1797- /* LTOPreLink */ true );
1794+ ThinOrFullLTOPhase::FullLTOPreLink );
17981795}
17991796
18001797ModulePassManager
@@ -2124,8 +2121,9 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
21242121 return MPM;
21252122}
21262123
2127- ModulePassManager PassBuilder::buildO0DefaultPipeline (OptimizationLevel Level,
2128- bool LTOPreLink) {
2124+ ModulePassManager
2125+ PassBuilder::buildO0DefaultPipeline (OptimizationLevel Level,
2126+ ThinOrFullLTOPhase Phase) {
21292127 assert (Level == OptimizationLevel::O0 &&
21302128 " buildO0DefaultPipeline should only be used with O0" );
21312129
@@ -2220,7 +2218,7 @@ ModulePassManager PassBuilder::buildO0DefaultPipeline(OptimizationLevel Level,
22202218
22212219 invokeOptimizerLastEPCallbacks (MPM, Level);
22222220
2223- if (LTOPreLink )
2221+ if (isLTOPreLink (Phase) )
22242222 addRequiredLTOPreLinkPasses (MPM);
22252223
22262224 MPM.addPass (createModuleToFunctionPassAdaptor (AnnotationRemarksPass ()));
0 commit comments