[clang] [llvm] [Coroutines] Never collect return value alloca into coroutine frame (PR #213580)

Weibo He via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 4 01:51:06 PDT 2026


NewSigma wrote:

`coro_outside_frame` was originally introduced for coroutine GRO. Because GRO's lifetime markers cross suspension points, we cannot rely on them and must instead add metadata. I think it is better to leave the decision to CoroSplit when the lifetime markers are sufficient.

Both approaches have drawbacks: metadata may be [dropped](https://github.com/llvm/llvm-project/pull/194690#issuecomment-4344922589) after optimizations, and CoroSplit may [fail](https://github.com/llvm/llvm-project/issues/124612#issuecomment-2906779433) in extremely complex control-flow scenarios. I have kept both in this revision.

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


More information about the cfe-commits mailing list