llvm-mirror/lib
Gor Nishanov 5e19e9e23d [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
2016-09-26 15:49:28 +00:00
..
Analysis [SCEV] Fix the order of members in the initializer list. 2016-09-26 04:49:58 +00:00
AsmParser [AsmParser] Remove unused partial template specialization. 2016-09-22 22:02:59 +00:00
Bitcode BitcodeReader: Deduplicate code. NFC. 2016-09-23 18:27:42 +00:00
CodeGen Add support to optionally limit the size of jump tables. 2016-09-26 15:32:33 +00:00
DebugInfo Revert r282238 "Revert r282235 "[llvm-dwarfdump] - Teach dwarfdump to dump gdb-index section."" 2016-09-23 11:01:53 +00:00
Demangle Avoid using alignas and constexpr. 2016-09-06 20:36:24 +00:00
ExecutionEngine [MCJIT] Fix some inconsistent handling of name mangling inside MCJIT. 2016-09-12 17:19:24 +00:00
Fuzzer [libFuzzer] add a standalone build script 2016-09-24 04:00:00 +00:00
IR [Profile] code refactoring: make getStep a method in base class 2016-09-20 19:07:22 +00:00
IRReader
LibDriver
LineEditor
Linker DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
LTO Add qualification to fix MSVC build. 2016-09-23 23:23:23 +00:00
MC [MC] Support .ds directives in assembler parser 2016-09-23 21:53:36 +00:00
Object Next set of additional error checks for invalid Mach-O files for bad LC_UUID 2016-09-21 20:03:09 +00:00
ObjectYAML
Option
Passes Fix test after renaming -name-anon-functions pass to -name-anon-globals 2016-09-16 17:18:16 +00:00
ProfileData [Coverage] Make sorting criteria for CounterMappingRegions local. 2016-08-31 07:01:17 +00:00
Support Triple: Add opencl environment type 2016-09-23 00:42:56 +00:00
TableGen
Target [AArch64] Improve add/sub/cmp isel of uxtw forms. 2016-09-26 15:34:47 +00:00
Transforms [Coroutines] Part14: Handle coroutines with no suspend points. 2016-09-26 15:49:28 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00