Skip to content

Commit bafc5f4

Browse files
authored
[Pipelines][Coroutines] Tune coroutine passes only for ThinLTO pre-link pipeline (#90690)
Follow up to #90310, limit the tune up only to ThinLTO pre-link as coroutine passes are not in MonoLTO backend
1 parent 93b9b7c commit bafc5f4

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

llvm/lib/Passes/PassBuilderPipelines.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -963,7 +963,7 @@ PassBuilder::buildInlinerPipeline(OptimizationLevel Level,
963963
MainCGPipeline.addPass(createCGSCCToFunctionPassAdaptor(
964964
RequireAnalysisPass<ShouldNotRunFunctionPassesAnalysis, Function>()));
965965

966-
if (!isLTOPreLink(Phase))
966+
if (Phase != ThinOrFullLTOPhase::ThinLTOPreLink)
967967
MainCGPipeline.addPass(CoroSplitPass(Level != OptimizationLevel::O0));
968968

969969
// Make sure we don't affect potential future NoRerun CGSCC adaptors.
@@ -1006,7 +1006,7 @@ PassBuilder::buildModuleInlinerPipeline(OptimizationLevel Level,
10061006
buildFunctionSimplificationPipeline(Level, Phase),
10071007
PTO.EagerlyInvalidateAnalyses));
10081008

1009-
if (!isLTOPreLink(Phase))
1009+
if (Phase != ThinOrFullLTOPhase::ThinLTOPreLink)
10101010
MPM.addPass(createModuleToPostOrderCGSCCPassAdaptor(
10111011
CoroSplitPass(Level != OptimizationLevel::O0)));
10121012

@@ -1185,7 +1185,7 @@ PassBuilder::buildModuleSimplificationPipeline(OptimizationLevel Level,
11851185
// and argument promotion.
11861186
MPM.addPass(DeadArgumentEliminationPass());
11871187

1188-
if (!isLTOPreLink(Phase))
1188+
if (Phase != ThinOrFullLTOPhase::ThinLTOPreLink)
11891189
MPM.addPass(CoroCleanupPass());
11901190

11911191
// Optimize globals now that functions are fully simplified.

llvm/test/Other/new-pm-defaults.ll

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,14 +224,12 @@
224224
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
225225
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ShouldNotRunFunctionPassesAnalysis
226226
; CHECK-O-NEXT: Running analysis: ShouldNotRunFunctionPassesAnalysis
227-
; CHECK-DEFAULT-NEXT: Running pass: CoroSplitPass
228-
; CHECK-LTO-NOT: Running pass: CoroSplitPass
227+
; CHECK-O-NEXT: Running pass: CoroSplitPass
229228
; CHECK-O-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ShouldNotRunFunctionPassesAnalysis
230229
; CHECK-O-NEXT: Invalidating analysis: ShouldNotRunFunctionPassesAnalysis
231230
; CHECK-O-NEXT: Invalidating analysis: InlineAdvisorAnalysis
232231
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
233-
; CHECK-DEFAULT-NEXT: Running pass: CoroCleanupPass
234-
; CHECK-LTO-NOT: Running pass: CoroCleanupPass
232+
; CHECK-O-NEXT: Running pass: CoroCleanupPass
235233
; CHECK-O-NEXT: Running pass: GlobalOptPass
236234
; CHECK-O-NEXT: Running pass: GlobalDCEPass
237235
; CHECK-DEFAULT-NEXT: Running pass: EliminateAvailableExternallyPass

0 commit comments

Comments
 (0)