Skip to content

Commit a47f820

Browse files
committed
fix coro mono lto
1 parent fb85a28 commit a47f820

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

clang/test/CodeGenCoroutines/coro-elide-thinlto.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// REQUIRES: x86_64-linux
12
// This tests that the coroutine elide optimization could happen succesfully with ThinLTO.
23
// This test is adapted from coro-elide.cpp and splits functions into two files.
34
//

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)