forked from OSchip/llvm-project
f05e492cde
alignment of the pointee type! This is the culmination of the ptr-traits work. Now the compiler will catch me if I try to use a pointer to an empty struct as a key in a dense map or inside a PointerIntPair or PointerUnion! This is much, much better than sometimes corrupting data (and other times working fine) due to insufficient alignment. It also means that we will be much more diligent about rejecting other uses of these constructs that aren't safe. It also means that we can now be more aggressive with the constructs when we actually have guaranteed higher alignment without specializing stuff. I'll be going through and cleaning up all the current overrides of these traits which are no longer necessary. Many thanks to Richard, David, and others who helped me get all of this together. llvm-svn: 256620 |
||
---|---|---|
.. | ||
autoconf | ||
bindings | ||
cmake | ||
docs | ||
examples | ||
include | ||
lib | ||
projects | ||
resources | ||
test | ||
tools | ||
unittests | ||
utils | ||
.arcconfig | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
LLVMBuild.txt | ||
Makefile | ||
Makefile.common | ||
Makefile.config.in | ||
Makefile.rules | ||
README.txt | ||
configure | ||
llvm.spec.in |
README.txt
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. 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.