llvm-project/clang/lib/Basic/Targets
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
..
AArch64.cpp [COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI 2019-05-02 00:38:14 +00:00
AArch64.h [COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI 2019-05-02 00:38:14 +00:00
AMDGPU.cpp AMDGPU: Enable _Float16 2019-04-30 18:35:37 +00:00
AMDGPU.h [HIP] Fix size_t for MSVC environment 2019-01-30 12:26:54 +00:00
ARC.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ARC.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ARM.cpp Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
ARM.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVR.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AVR.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BPF.cpp [BPF] do not generate predefined macro bpf 2019-04-26 15:35:51 +00:00
BPF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Hexagon.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Hexagon.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Lanai.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Lanai.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Le64.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Le64.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MSP430.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MSP430.h [MSP430] Ajust f32/f64 alignment according to MSP430 EABI 2019-01-25 08:51:53 +00:00
Mips.cpp [Headers][mips] Add `__attribute__((__mode__(__unwind_word__)))` to the _Unwind_Word / _Unwind_SWord definitions 2019-02-13 18:27:09 +00:00
Mips.h [Headers][mips] Add `__attribute__((__mode__(__unwind_word__)))` to the _Unwind_Word / _Unwind_SWord definitions 2019-02-13 18:27:09 +00:00
NVPTX.cpp [COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI 2019-05-02 00:38:14 +00:00
NVPTX.h [DEBUG_INFO][NVPTX] Generate correct data about variable address class. 2019-02-05 19:45:57 +00:00
OSTargets.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OSTargets.h [WebAssembly] Add Emscripten OS definition + small_printf 2019-04-03 01:08:35 +00:00
PNaCl.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PNaCl.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PPC.cpp [PowerPC] Fix issue with inline asm - soft float mode 2019-04-02 11:00:09 +00:00
PPC.h Fix Wimplicit-fallthrough warning introduced in rL357466. NFCI. 2019-04-02 11:25:38 +00:00
RISCV.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
RISCV.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SPIR.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SPIR.h Disable _Float16 for non ARM/SPIR Targets 2019-01-25 17:27:57 +00:00
Sparc.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Sparc.h Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
SystemZ.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SystemZ.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TCE.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TCE.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
WebAssembly.cpp [WebAssembly] Add mutable globals feature 2019-03-29 22:00:18 +00:00
WebAssembly.h [WebAssembly] Add mutable globals feature 2019-03-29 22:00:18 +00:00
X86.cpp Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
X86.h [X86] Correct the value of MaxAtomicInlineWidth for pre-586 cpus 2019-03-21 20:36:08 +00:00
XCore.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XCore.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00