Go to file
Rui Ueyama a16fe65b72 Rewrite FileOutputBuffer as two separate classes.
This patch is to rewrite FileOutputBuffer as two separate classes;
one for file-backed output buffer and the other for memory-backed
output buffer. I think the new code is easier to follow because two
different implementations are now actually separated as different
classes.

Unlike the previous implementation, the class that does not replace the
final output file using rename(2) does not create a temporary file at
all. Instead, it allocates memory using mmap(2) and use it. I think
this is an improvement because it is now guaranteed that the temporary
memory region doesn't trigger any I/O and there's now zero chance to
leave a temporary file behind. Also, it shouldn't impose new restrictions
because were using mmap IO too.

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

llvm-svn: 317127
2017-11-01 21:38:14 +00:00
clang [clang-format] Make parseUnaryOperator non-recursive, NFCI 2017-11-01 18:20:41 +00:00
clang-tools-extra Add LLVM_FALLTHROUGH to silence warning. NFCI. 2017-11-01 09:22:03 +00:00
compiler-rt [fuzzer] Script to detect unbalanced allocation in -trace_malloc output 2017-11-01 20:27:06 +00:00
debuginfo-tests Revert r313600 due to bot failures on Green Dragon. 2017-09-19 14:51:37 +00:00
libclc math: Implement native_log10 2017-10-25 16:49:22 +00:00
libcxx [libc++] Don't alias quick_exit if __ANDROID_API__ < 21 2017-11-01 21:17:56 +00:00
libcxxabi Fix ASAN build with older compiler-rt versions. 2017-09-14 22:37:34 +00:00
libunwind [libunwind] Don't use dl_iterate_phdr if __ANDROID_API__ < 21 2017-11-01 21:26:06 +00:00
lld [ELF] - Cleanup of processSectionCommands(). 2017-11-01 08:40:28 +00:00
lldb Add data formatter for libc++ std::queue 2017-11-01 15:52:08 +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 Rewrite FileOutputBuffer as two separate classes. 2017-11-01 21:38:14 +00:00
openmp [OpenMP] Fix race condition in omp_init_lock 2017-11-01 19:44:42 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ZoneAlgo/ForwardOpTree] Normalize PHIs to their known incoming values. 2017-10-31 16:11:46 +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.