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 |
||
|---|---|---|
| .. | ||
| coro-early.ll | ||
| coro-elide.ll | ||
| coro-heap-elide.ll | ||
| coro-split-00.ll | ||
| coro-split-01.ll | ||
| ex0.ll | ||
| ex1.ll | ||
| ex2.ll | ||
| ex3.ll | ||
| ex4.ll | ||
| restart-trigger.ll | ||
| smoketest.ll | ||