diff options
author | Tyler Nowicki <tyler.nowicki@amd.com> | 2024-09-20 16:47:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-20 16:47:17 -0400 |
commit | 2e414799d0ad511cd7999895014a2cae2ea5e3e3 (patch) | |
tree | 6e071d4ee92973407aadccea8dbe23b37b7a6b46 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 65c57066e099fe7f1357485cd6c4fb068bc82323 (diff) | |
download | llvm-2e414799d0ad511cd7999895014a2cae2ea5e3e3.zip llvm-2e414799d0ad511cd7999895014a2cae2ea5e3e3.tar.gz llvm-2e414799d0ad511cd7999895014a2cae2ea5e3e3.tar.bz2 |
[Coroutines] ABI Objects to improve code separation between different ABIs, users and utilities. (#109338)
* Adds an ABI object class hierarchy to implement the coroutine ABIs
(Switch, Asyc, and Retcon{Once})
* The ABI object improves the separation of the code related to users,
ABIs and utilities.
* No code changes are required by any existing users.
* Each ABI overrides delegate methods for initialization, building the
coroutine frame and splitting the coroutine, other methods may be added
later.
* CoroSplit invokes a generator lambda to instantiate the ABI object and
calls the ABI object to carry out its primary operations.
See RFC for more info:
https://discourse.llvm.org/t/rfc-abi-objects-for-coroutines/81057
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions