Go to file
Peter Collingbourne a67161fffa MC: Don't align COFF section contents.
Aligning section contents is not required, but only
recommended, by the specification. Microsoft's documentation says
(https://docs.microsoft.com/en-us/windows/desktop/debug/pe-format#section-table-section-headers):
"For object files, the value should be aligned on a 4-byte boundary
for best performance."

However, according to my measurements, aligning section contents has
a neutral to negative effect on performance.

I measured the median run time of 100 links of Chromium's
base_unittests on Linux with lld-link and on Windows with link.exe with
both aligned and unaligned sections. On Linux I didn't see a measurable
performance difference, and on Windows the link was slightly faster
with unaligned sections (presumably because on Windows the bottleneck
is I/O).

Also, the sections created by cl.exe are unaligned, so we should expect
tools to broadly accept unaligned sections.

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

llvm-svn: 340514
2018-08-23 05:39:36 +00:00
clang Missing quote in previous commit 2018-08-23 04:09:49 +00:00
clang-tools-extra [clangd] send diagnostic categories only when 'categorySupport' 2018-08-22 20:30:06 +00:00
compiler-rt [hwasan] make error reporting look more like in asan, print the memory tag around the buggy access, simplify one test 2018-08-22 22:55:16 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc amdgcn: Use __constant AS for amdgcn builtins. 2018-08-03 15:14:08 +00:00
libcxx Disable the aligned allocation test on old mac versions instead of XFAILing it 2018-08-22 17:47:41 +00:00
libcxxabi Port LLVM r340203 (and r340205) to libcxxabi. 2018-08-20 20:14:49 +00:00
libunwind NFC: Test commit access 2018-08-16 16:55:07 +00:00
lld win: Omit ".exe" from lld warning and error messages. 2018-08-22 23:52:13 +00:00
lldb Add include directory for libxml on macOS 2018-08-22 22:25:45 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm MC: Don't align COFF section contents. 2018-08-23 05:39:36 +00:00
openmp [OMPT] Remove OMPT idle callback 2018-08-15 13:54:28 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [AST] Adapt Polly to AnalysisSetTracker changes. NFC. 2018-08-17 19:31:41 +00:00
README.md

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.