rjmccall added a comment. I agree that you shouldn't call `suspend`, but doesn't `coro.end` have the behavior of marking the coroutine done? Should we just be calling `coro.end` on this path?
================ Comment at: llvm/docs/Coroutines.rst:1661 +should return true. All of the '``llvm.coro.mark.done``' would be lowered in CoroSplit pass. +This intrinsic is only supported for switched-resume coroutines. + ---------------- "The '``llvm.coro.mark.done``' intrinsic marks that the current coroutine is complete. '``llvm.coro.mark.done``' is lowered during coroutine splitting and must not appear outside of an unsplit coroutine. This intrinsic is only supported for switched-resume coroutines." ================ Comment at: llvm/docs/Coroutines.rst:1668 +the coroutines in LLVM wouldn't be inlined before splitted. So there is no ambiguousity about the +coroutine that the '``llvm.coro.mark.done``' refers to. + ---------------- "'``llvm.coro.mark.done``' doesn't require any arguments. There is no ambiguity about which coroutine is meant because unsplit coroutines in LLVM cannot be broken up or inlined." Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115219/new/ https://reviews.llvm.org/D115219 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits