Go to file
Tom Tan b7c6d95af5 [COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI
According to alignment section in below ARM64 ABI document, MSVC could increase
alignment of global data based on its total size. Clang doesn't do this. Compile
the same symbol into different alignments by Clang and MSVC could cause link
error because some instruction encodings, like 64-bit LDR/STR with immediate,
require the target to be 8 bytes aligned, and linker could choose code stream
with such LDR/STR instruction from MSVC and 4 bytes aligned data from Clang into
final image, which actually cannot be linked together
(see https://bugs.llvm.org/show_bug.cgi?id=41506 for more details).

https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2019#alignment

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

llvm-svn: 359744
2019-05-02 00:38:14 +00:00
clang [COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI 2019-05-02 00:38:14 +00:00
clang-tools-extra [clangd] Delete an unused declaration 2019-05-01 12:16:37 +00:00
compiler-rt [compiler-rt][tests] Propagate COMPILER_RT_UNITTEST_LINK_FLAGS 2019-05-01 22:25:16 +00:00
debuginfo-tests
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx Add missing locale requirement to test. 2019-05-01 21:02:32 +00:00
libcxxabi Update DemangleConfig.h to better mangle LLVM's version. 2019-04-30 06:38:24 +00:00
libunwind [NFC] Fix typo in debug log 2019-04-22 15:40:50 +00:00
lld [LLD] Emit dynamic relocations for references to script symbols in -pie links 2019-05-01 14:07:31 +00:00
lldb lldb-server: remove link against lldbInterpreter 2019-05-01 23:06:45 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm remove inalloca parameters in globalopt and simplify argpromotion 2019-05-02 00:37:36 +00:00
openmp Enable OpenMP build for 32-bit FreeBSD 2019-05-01 19:32:58 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly Apply include-what-you-use #include removal suggestions. NFC. 2019-03-28 20:19:49 +00:00
pstl [pstl] Make the default backend be the serial backend and always provide parallel policies 2019-04-24 20:12:36 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

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