[llvm-branch-commits] [llvm] [LLVM][Coroutines] Create `.noalloc` variant of switch ABI coroutine ramp functions during CoroSplit (PR #99283)

Chuanqi Xu via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Aug 28 01:47:57 PDT 2024


================
@@ -2049,6 +2055,21 @@ the coroutine must reach the final suspend point when it get destroyed.
 
 This attribute only works for switched-resume coroutines now.
 
+coro_elide_safe
+---------------
+
+When a Call or Invoke instruction is marked with `coro_elide_safe`,
+CoroAnnotationElidePass performs heap elision when possible. Note that for
+recursive or mutually recursive functions this elision is usually not possible.
+
+coro_gen_noalloc_ramp
+---------------------
+
+This attribute hints CoroSplitPass to generate a `f.noalloc` ramp function for
----------------
ChuanqiXu9 wrote:

It will be better to explain and describe the `f.noalloc` ramp function  in this document. And it will be better to have some  example codes for it and compare it with the normal ramp functions.

https://github.com/llvm/llvm-project/pull/99283


More information about the llvm-branch-commits mailing list