Add @llvm.coro.async.size.replace intrinsic.
authorNate Chandler <nate_chandler@apple.com>
Mon, 22 Feb 2021 23:04:51 +0000 (15:04 -0800)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 23 Feb 2021 14:43:52 +0000 (06:43 -0800)
commit01b4890e47f0988695e68ea4e1fd6961b645ee73
tree024024cf786d3719e088e6be147bceae63eb599c
parent22215e49233861e52158fcb0b71449ac62e1b41b
Add @llvm.coro.async.size.replace intrinsic.

The new intrinsic replaces the size in one specified AsyncFunctionPointer with
the size in another.  This ability is necessary for functions which merely
forward to async functions such as those defined for partial applications.

Reviewed By: aschwaighofer

Differential Revision: https://reviews.llvm.org/D97229
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
llvm/lib/Transforms/Coroutines/CoroInstr.h
llvm/lib/Transforms/Coroutines/Coroutines.cpp
llvm/test/Transforms/Coroutines/coro-async.ll