llvm-project/llvm
Aleksandr Urakov ceff107778 [ADT] Change the `IntervalMap` alignment assert for x86 MSVC
Summary:
This patch forces the alignment of the `data` field of `IntervalMap`.
It is because x86 MSVC doesn't apply automatically
(without `__declspec(align(...))`) alignments more than 4 bytes,
even if `alignof` has returned so. Consider the example:

https://godbolt.org/z/zIPa_G

Here `alignof` for both `S0` and `S1` returns `8`, but only `S1` is really
aligned on x86. The explanation of this behavior is here:

https://docs.microsoft.com/en-us/cpp/build/conflicts-with-the-x86-compiler

Reviewers: bkramer, stoklund, hans, rnk

Reviewed By: rnk

Subscribers: dexonsmith, llvm-commits

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

llvm-svn: 344018
2018-10-09 07:33:09 +00:00
..
benchmarks Pull google/benchmark library to the LLVM tree 2018-08-28 09:42:41 +00:00
bindings [bindings/go] Add Go bindings to the Token type 2018-09-28 17:39:59 +00:00
cmake [cmake] Also create lowercase extension WinSDK symlinks 2018-10-05 00:08:27 +00:00
docs [doc] Update the programmer's manual about SmallSet's iterator 2018-10-04 12:33:33 +00:00
examples [ORC] Fix BuildingAJIT tutorial examples that were broken by r343059. 2018-09-26 04:00:58 +00:00
include [ADT] Change the `IntervalMap` alignment assert for x86 MSVC 2018-10-09 07:33:09 +00:00
lib [CFG Printer] Add support for writing the dot files with a custom 2018-10-09 04:30:23 +00:00
projects
resources
runtimes
test [CFG Printer] Add support for writing the dot files with a custom 2018-10-09 04:30:23 +00:00
tools [PDB] Add the ability to lookup global symbols by name. 2018-10-08 04:19:16 +00:00
unittests [IRBuilder] Fixup CreateIntrinsic to allow specifying Types to Mangle. 2018-10-08 10:32:33 +00:00
utils TableGen/CodeGenDAGPatterns: addPredicateFn only once 2018-10-08 16:53:31 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [WebAssembly] Add WebAssembly to LLVM_ALL_TARGETS 2018-10-03 23:56:52 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt Test commit. 2018-09-22 01:01:03 +00:00
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

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.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.