Summary: 1) CoroEarly now lowers llvm.coro.promise intrinsic that allows to obtain a coroutine promise pointer from a coroutine frame and vice versa. 2) CoroFrame now interprets Promise argument of llvm.coro.begin to place CoroutinPromise alloca at a deterministic offset from the coroutine frame. Now, the coroutine promise example from docs\Coroutines.rst compiles and produces expected result (see test/Transform/Coroutines/ex4.ll). Reviewers: majnemer Subscribers: llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D23993 llvm-svn: 280184 |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| CoroCleanup.cpp | ||
| CoroEarly.cpp | ||
| CoroElide.cpp | ||
| CoroFrame.cpp | ||
| CoroInstr.h | ||
| CoroInternal.h | ||
| CoroSplit.cpp | ||
| Coroutines.cpp | ||
| LLVMBuild.txt | ||