[PATCH] D94834: [Coroutine] Do not CoroElide if there are musttail calls

Xun Li via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 18 09:03:22 PST 2021


lxfind added a comment.

In D94834#2504128 <https://reviews.llvm.org/D94834#2504128>, @ChuanqiXu wrote:

> I am a little unclear about this problem. From my point of view, it seems like that there is a Coroutine C elided in a normal function F. Then in the Coroutine Body of C, it would try to switch to itself by symmetric transfer. However, the Coroutine frame of C now is a stack variable. Then the tail call would pass the address of the stack variable whose lifetime has ended, so here is the corruption. Did I understand the situation?

Yes I believe that's an accurate description


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D94834



More information about the llvm-commits mailing list