Go to file
Gor Nishanov 04491bd8f3 [coroutines] Promote cleanup.dest.slot allocas to registers to avoid storing it in the coroutine frame
Summary:
We don't want to store cleanup dest slot saved into the coroutine frame (as some of the cleanup code may
access them after coroutine frame destroyed).

This is an alternative to https://reviews.llvm.org/D37093

It is possible to do this for all functions, but, cursory check showed that in -O0, we get slightly longer function (by 1-3 instructions), thus, we are only limiting cleanup.dest.slot elimination to coroutines.

Reviewers: rjmccall, hfinkel, eric_niebler

Reviewed By: eric_niebler

Subscribers: EricWF, cfe-commits

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

llvm-svn: 317981
2017-11-11 17:00:43 +00:00
clang [coroutines] Promote cleanup.dest.slot allocas to registers to avoid storing it in the coroutine frame 2017-11-11 17:00:43 +00:00
clang-tools-extra [clangd] Fix compilation database detection 2017-11-09 21:45:27 +00:00
compiler-rt Correct NetBSD build issue 2017-11-11 09:29:21 +00:00
debuginfo-tests [debuginfo-tests] Make debuginfo-tests work in a standard configuration. 2017-11-10 20:57:57 +00:00
libclc native_exp10: Switch implementation to llvm intrinsic 2017-11-10 22:16:41 +00:00
libcxx Add _LIBCPP_INLINE_VISIBILITY to __compressed_pair_elem members 2017-11-09 17:54:49 +00:00
libcxxabi Fix ASAN build with older compiler-rt versions. 2017-09-14 22:37:34 +00:00
libunwind Add ifdefs around ELF specific parts of UnwindRegisters*.S for arm 2017-11-04 21:01:31 +00:00
lld Simplify. NFC. 2017-11-11 01:59:47 +00:00
lldb Added a way to dump the full paths to all source files in a module that has debug info. 2017-11-10 22:39:07 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86] Add scalar register class versions of VRNDSCALE instructions and rename the existing versions to _Int. 2017-11-11 08:24:15 +00:00
openmp [OMPT] Provide initialization for Mac OS X 2017-11-11 13:59:48 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [polly] Remove redundant return [NFC] 2017-11-10 20:33:08 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.