[PATCH] D95807: [Coroutines] Add the newly generated SCCs back to the CGSCC work queue after CoroSplit actually happened

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 29 18:55:29 PDT 2021


ChuanqiXu accepted this revision.
ChuanqiXu added a comment.
This revision is now accepted and ready to land.

In D95807#2847449 <https://reviews.llvm.org/D95807#2847449>, @lxfind wrote:

> In D95807#2846358 <https://reviews.llvm.org/D95807#2846358>, @ChuanqiXu wrote:
>
>>> note that we don't really need to run Inliner again on the ramp function after split
>>
>> This isn't accurate. The inline may run again for ramp function after split and it's required by coro elide.
>
> If there is an inlining opportunity, it should have happened pre-split, right? Is there any reason it didn't happen pre-split but only post-split?

Since we had prevent inlining coroutine before split, coroutine can't be inlined pre-split. After splitting, due to the SCC changes, the inliner would run again for ramp.

LGTM. But I am not familiar with the pipeline, please wait for 1~2 days in case there are more comments.



================
Comment at: llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2112-2114
     StringRef Value = Attr.getValueAsString();
     LLVM_DEBUG(dbgs() << "CoroSplit: Processing coroutine '" << F.getName()
                       << "' state: " << Value << "\n");
----------------
These are not needed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D95807



More information about the llvm-commits mailing list