[clang] [llvm] [Clang][Coroutines] Improve CoroElide with [[clang::coro_structured_concurrency]] attribute for C++ (PR #94693)

Yuxuan Chen via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 16 21:11:02 PDT 2024


yuxuanchen1997 wrote:

Thanks for the feedback. This patch is the first iteration to model this idea as quickly as I can. In general I agree with your comments

> * I feel the name containing `concurrency` is not proper

The name is bikesheddable as always. I was also thinking around the line of `[[clang::coro_inplace_awaitable_task]]`.

> * Every time we add or change IR related to coroutines, we need to update https://llvm.org/docs/Coroutines.html. So that we can understand the semantics of the proposed `llvm.coro.safe.elide` much easier.

Will do once we agree on a design. 

> * I'd like to add a new effect to the attribute to always inline (or an inline hint) every such callee function. Note that this won't be part of semantics but the implementation details.

This is a good suggestion for the scope of another PR. 

> * What I prefer is to add a middle end function attribute (must-coro-elide) and apply this attribute and (always inline attribute) to the calls

Do you mean the caller or the callee? I think both, right? 

https://github.com/llvm/llvm-project/pull/94693


More information about the cfe-commits mailing list