[PATCH] D102145: [Coroutines] Add `llvm.coro.align` and `llvm.coro.raw.frame.ptr.offset` intrinsics

Yuanfang Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 11 17:03:01 PDT 2021


ychen updated this revision to Diff 344601.
ychen added a comment.

- Add `llvm.coro.raw.frame.ptr.addr` to help storing raw frame address during allocation. `llvm.coro.raw.frame.ptr.offset` cannot be used during allocation because coroutine lowering would overwrite the raw frame address field with `%alloc.frame.ptr` alloca after `llvm.coro.begin`. The malloc returned address should be stored to `%alloc.frame.ptr` instead of the raw frame address field directly.
- Add tests for added intrinsics.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102145

Files:
  llvm/docs/Coroutines.rst
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/Transforms/Coroutines/CoroFrame.cpp
  llvm/lib/Transforms/Coroutines/CoroInstr.h
  llvm/lib/Transforms/Coroutines/CoroInternal.h
  llvm/lib/Transforms/Coroutines/CoroSplit.cpp
  llvm/lib/Transforms/Coroutines/Coroutines.cpp
  llvm/test/Transforms/Coroutines/coro-frame-overalign.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102145.344601.patch
Type: text/x-patch
Size: 17497 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210512/5656919c/attachment.bin>


More information about the llvm-commits mailing list