[PATCH] D87817: [LICM][Coroutine] Don't sink stores to coroutine suspend point.

JunMa via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 18 01:15:17 PDT 2020


junparser added a comment.

In D87817#2280618 <https://reviews.llvm.org/D87817#2280618>, @efriedma wrote:

> If there are transformations that are specifically illegal with corouties, I'd like to see a section in https://llvm.org/docs/Coroutines.html describing what transforms are and are not legal.  Just saying that the current version of the coroutine lowering code can't handle it isn't sufficient.

Thanks for the suggestion, I'll add it later. 
Let's say for this case, we do not wanna move any instructions (maybe this is too restrictive, using !mayReadOrWriteMemory && !mayHaveSideEffects) to path between coroutine suspend point (coro.suspend intrinsic) and return to caller (coro.end intrinsic).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D87817



More information about the llvm-commits mailing list