[PATCH] D103593: [Coroutine] Sink lifetime markers after switch of suspend blocks to avoid disturbing must tail calls

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 27 19:25:35 PDT 2021


ChuanqiXu added a comment.

In D103593#2842630 <https://reviews.llvm.org/D103593#2842630>, @lxfind wrote:

> By the way, while you are at it, I was looking at some of the sink lifetime tests, and I was confused by this test:
> https://github.com/llvm/llvm-project/blob/main/llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-02.ll
> It's supposed to test that we can sink the lifetime (and hence will not put the alloca on the frame). But looks like we are not able to sink it and the test is testing that it will be on the frame?

Yeah, this test is intended to not sink the lifetime to avoid troubles. Since the use of 'testval' would happen in both ramp function and resume function, it should be on the frame. From the commit log, it looks like that there are some problems with the original implementation which is a little bit too aggressive. So the fix tried to be more strict on that.


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

https://reviews.llvm.org/D103593



More information about the llvm-commits mailing list