[PATCH] D23461: [Coroutines] Part 7: Split coroutine into subfunctions

Gor Nishanov via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 12 11:48:54 PDT 2016


GorNishanov created this revision.
GorNishanov added a reviewer: majnemer.
GorNishanov added a subscriber: llvm-commits.
Herald added a subscriber: mehdi_amini.

This patch adds simple coroutine splitting logic to CoroSplit pass.

Documentation and overview is here: http://llvm.org/docs/Coroutines.html.

Upstreaming sequence (rough plan)
1.Add documentation. (https://reviews.llvm.org/D22603)
2.Add coroutine intrinsics. (https://reviews.llvm.org/D22659)
...
7. Split coroutine into subfunctions <= we are here
8. Coroutine Frame Building algorithm 
9. Handle coroutine with unwinds
10+. The rest of the logic 

https://reviews.llvm.org/D23461

Files:
  lib/Transforms/Coroutines/CMakeLists.txt
  lib/Transforms/Coroutines/CoroCleanup.cpp
  lib/Transforms/Coroutines/CoroEarly.cpp
  lib/Transforms/Coroutines/CoroFrame.cpp
  lib/Transforms/Coroutines/CoroInstr.h
  lib/Transforms/Coroutines/CoroInternal.h
  lib/Transforms/Coroutines/CoroSplit.cpp
  lib/Transforms/Coroutines/Coroutines.cpp
  test/Transforms/Coroutines/coro-split-00.ll
  test/Transforms/Coroutines/coro-split-01.ll
  test/Transforms/Coroutines/restart-trigger.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23461.67875.patch
Type: text/x-patch
Size: 38323 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160812/3ec0ecdd/attachment.bin>


More information about the llvm-commits mailing list