1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/Transforms/Coroutines
Gor Nishanov 37bbef4980 [Coroutines]: Part6b: Add coro.id intrinsic.
Summary:
1. Make coroutine representation more robust against optimization that may duplicate instruction by introducing coro.id intrinsics that returns a token that will get fed into coro.alloc and coro.begin. Due to coro.id returning a token, it won't get duplicated and can be used as reliable indicator of coroutine identify when a particular coroutine call gets inlined.
2. Move last three arguments of coro.begin into coro.id as they will be shared if coro.begin will get duplicated.
3. doc + test + code updated to support the new intrinsic.

Reviewers: mehdi_amini, majnemer

Subscribers: mehdi_amini, llvm-commits

Differential Revision: https://reviews.llvm.org/D23412

llvm-svn: 278481
2016-08-12 05:45:49 +00:00
..
coro-early.ll Part 4c: Coroutine Devirtualization: Devirtualize coro.resume and coro.destroy. 2016-08-06 02:16:35 +00:00
coro-elide.ll [Coroutines]: Part6b: Add coro.id intrinsic. 2016-08-12 05:45:49 +00:00
coro-heap-elide.ll [Coroutines]: Part6b: Add coro.id intrinsic. 2016-08-12 05:45:49 +00:00
restart-trigger.ll [Coroutines]: Part6b: Add coro.id intrinsic. 2016-08-12 05:45:49 +00:00
smoketest.ll opt: Adding -O0 to opt tool 2016-08-05 16:27:33 +00:00