diff options
author | Gor Nishanov <GorNishanov@gmail.com> | 2016-09-26 15:49:28 +0000 |
---|---|---|
committer | Gor Nishanov <GorNishanov@gmail.com> | 2016-09-26 15:49:28 +0000 |
commit | bc0ebb383c54e8ada847c6a83e0dfc490e2f2aa1 (patch) | |
tree | 69ab6cd735eb7ef12d5a7b7d0bc1a4afae13e3af /llvm/lib/Bitcode/Reader/BitstreamReader.cpp | |
parent | 256fcf975f60f51fce9fe7f5992f9e409e60db29 (diff) | |
download | bcm5719-llvm-bc0ebb383c54e8ada847c6a83e0dfc490e2f2aa1.tar.gz bcm5719-llvm-bc0ebb383c54e8ada847c6a83e0dfc490e2f2aa1.zip |
[Coroutines] Part14: Handle coroutines with no suspend points.
Summary:
If coroutine has no suspend points, remove heap allocation and turn a coroutine into a normal function.
Also, if a pattern is detected that coroutine resumes or destroys itself prior to coro.suspend call, turn the suspend point into a simple jump to resume or cleanup label. This pattern occurs when coroutines are used to propagate errors in functions that return expected<T>.
Reviewers: majnemer
Subscribers: mehdi_amini, llvm-commits
Differential Revision: https://reviews.llvm.org/D24408
llvm-svn: 282414
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitstreamReader.cpp')
0 files changed, 0 insertions, 0 deletions