This is an archive of the discontinued LLVM Phabricator instance.

[Pipelines] Hoist CoroCleanup to avoid blocking optimizations
ClosedPublic

Authored by ChuanqiXu on Apr 25 2022, 12:22 AM.

Details

Summary

CoroCleanup is designed to lowering all the remaining coroutine intrinsics. It is required to run after CoroSplit only. However, the position of CoroCleanup now is far too late. The downside here is that the unlowered coroutine instrincs might blocking other optimizations too. So it should be a pure win to hoist the position of CoroCleanup.

Diff Detail

Event Timeline

ChuanqiXu created this revision.Apr 25 2022, 12:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 25 2022, 12:22 AM
ChuanqiXu requested review of this revision.Apr 25 2022, 12:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 25 2022, 12:22 AM

would it make sense to put all of the coroutine lower passes right at the beginning of the pipeline? e.g. around LowerExpectIntrinsicPass? is there a reason CoroSplit is interleaved in the CGSCC pass manager?

would it make sense to put all of the coroutine lower passes right at the beginning of the pipeline? e.g. around LowerExpectIntrinsicPass? is there a reason CoroSplit is interleaved in the CGSCC pass manager?

(actually let's move discussion into D124364 where there are more people)

@aeubanks Would you like to review this one? Although we're discussing the solution in https://discourse.llvm.org/t/address-thread-identification-problems-with-coroutine/62015, I think the change in this revision should be a pure win.

ChuanqiXu retitled this revision from [Pipelines] Hoist CoroCleanup to avoid blocking optimizations (1/5) to [Pipelines] Hoist CoroCleanup to avoid blocking optimizations.May 4 2022, 8:05 PM
aeubanks accepted this revision.May 4 2022, 9:19 PM
This revision is now accepted and ready to land.May 4 2022, 9:19 PM
This revision was landed with ongoing or failed builds.May 5 2022, 12:14 AM
This revision was automatically updated to reflect the committed changes.