[PATCH] D90612: Start of an llvm.coro.async implementation

Arnold Schwaighofer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 2 07:44:47 PST 2020


aschwaighofer created this revision.
aschwaighofer added a reviewer: rjmccall.
Herald added subscribers: llvm-commits, lxfind, modocache, hiraditya.
Herald added a project: LLVM.
aschwaighofer requested review of this revision.
Herald added a subscriber: jdoerfert.

This patch adds the `async` lowering of coroutines.

This will be used by the Swift frontend to lower async functions. In
contrast to the `retcon` lowering the frontend needs to be in control
over control-flow at suspend points as execution might be suspended at
this points.

This is very much work in progress and the implementation will change as
it evolves with the frontend. As such the documentation is lacking
detail as some of it might change.

rdar://70097093


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90612

Files:
  llvm/docs/Coroutines.rst
  llvm/include/llvm/IR/Intrinsics.td
  llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
  llvm/lib/Transforms/Coroutines/CoroEarly.cpp
  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-async.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90612.302280.patch
Type: text/x-patch
Size: 50859 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201102/eb97215c/attachment.bin>


More information about the llvm-commits mailing list