ChuanqiXu marked 2 inline comments as done. ChuanqiXu added inline comments.
================ Comment at: llvm/docs/Coroutines.rst:1395 +| | Landingpad | mark coroutine as done | mark coroutine done | ++------------+-------------+------------------------+-------------------------------+ ---------------- Maybe I need to explain why it would work in start (ramp) function. Generally, the ramp function is very small. But in case the initial_suspend of the coroutine wouldn't always suspend, the start function could be as large as the original function. In this case, it should remain the original semantics. ================ Comment at: llvm/lib/Transforms/Coroutines/CoroSplit.cpp:304 + Shape.FrameTy->getTypeAtIndex(coro::Shape::SwitchFieldIndex::Resume))); + Builder.CreateStore(NullPtr, GepIndex); if (!InResume) ---------------- rjmccall wrote: > We need to do this store elsewhere, right, like during final suspends? Can > we make a common function for it? I am not sure if I understand your point. I think the place where the `coro.end` lives should be the right place. The common function is made. 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