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

Reply via email to