[PATCH] D105877: [Coroutines] Run coroutine passes by default

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 14 19:24:51 PDT 2021


ChuanqiXu added inline comments.


================
Comment at: llvm/lib/Transforms/Utils/InlineFunction.cpp:2194
+  // caused by multithreaded coroutines
+  if ((InsertLifetime || Caller->isPresplitCoroutine()) &&
+      !IFI.StaticAllocas.empty()) {
----------------
aeubanks wrote:
> ChuanqiXu wrote:
> > lxfind wrote:
> > > What's the context of this change? Doesn't seem to be related to this diff?
> > Related contexts are at  line 1934 in PassBuilder.cpp. The pass builder would set InsertLifetimeIntrinsics to be true for AlwaysInliner even at O0 as the comments tells.
> > 
> > This change would make sure the AlwaysInliner to insert lifetimes at O0. It wouldn't affect inliner since inliner wouldn't run at O0. And normal inliner would insert lifetime all the time.
> can you add this to the description? or even better, split it out into a different patch?
I added this to the comment. It is a little odd for me to split it into another patch. Since it means that we need to revert a change first (Insert lifetime for coroutine for always inliner at O0) and recommit it later.  But from my point of view, it doesn't need to revert it first.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105877/new/

https://reviews.llvm.org/D105877



More information about the llvm-commits mailing list