[Coroutines]: Part6b: Add coro.id intrinsic.

Description

[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

Details

Committed
GorNishanovAug 11 2016, 10:45 PM
Differential Revision
D23412: [Coroutines]: Part6b: Add coro.id intrinsic.
Parents
rL278480: [ELF][MIPS] Fix the comment
Branches
Unknown
Tags
Unknown