Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
Evgeniy Stepanov 7bfedca6fc [asan] Fix dead stripping of globals on Linux.
Use a combination of !associated, comdat, @llvm.compiler.used and
custom sections to allow dead stripping of globals and their asan
metadata. Sometimes.

Currently this works on LLD, which supports SHF_LINK_ORDER with
sh_link pointing to the associated section.

This also works on BFD, which seems to treat comdats as
all-or-nothing with respect to linker GC. There is a weird quirk
where the "first" global in each link is never GC-ed because of the
section symbols.

At this moment it does not work on Gold (as in the globals are never
stripped).

This is a re-land of r298158 rebased on D31358. This time,
asan.module_ctor is put in a comdat as well to avoid quadratic
behavior in Gold.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299697 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-06 19:55:17 +00:00
bindings Go binding: Add GetCurrentDebugLocation to obtain debug location from builder 2017-03-31 04:59:57 +00:00
cmake Respect CMAKE_INSTALL_MANDIR for sphinx generated manpages 2017-04-05 14:49:46 +00:00
docs [XRay][docs] Fix hyperlink to XRay doc 2017-04-06 04:26:26 +00:00
examples llvm/examples/Kaleidoscope/BuildingAJIT: More fixup corresponding to r295636. 2017-02-20 10:07:41 +00:00
include [asan] Fix dead stripping of globals on Linux. 2017-04-06 19:55:17 +00:00
lib [asan] Fix dead stripping of globals on Linux. 2017-04-06 19:55:17 +00:00
projects [cmake] Include openmp with add_llvm_external_project 2017-03-07 18:54:17 +00:00
resources
runtimes [CMake] Support single target builtins build on Darwin 2017-03-24 02:21:11 +00:00
test [asan] Fix dead stripping of globals on Linux. 2017-04-06 19:55:17 +00:00
tools [Bugpoint] Use unique_ptr correctly. 2017-04-05 22:23:48 +00:00
unittests [ADT] Add a generic breadth-first-search graph iterator. 2017-04-06 17:03:04 +00:00
utils [lit] Implement timeouts and max_time for process pool testing 2017-04-06 00:38:28 +00:00
.arcconfig project_id is from another era in phabricator land and does not provide any value. 2016-09-27 15:47:29 +00:00
.clang-format
.clang-tidy
.gitignore [.gitignore] Update .gitignore to ignore a nested build directory 2017-02-24 23:09:30 +00:00
CMakeLists.txt [CMake] Provide an option to disable runtimes build 2017-03-23 22:40:10 +00:00
CODE_OWNERS.TXT CODE_OWNERS: Take code ownership of instruction scheduling. 2017-03-10 18:34:37 +00:00
configure
CREDITS.TXT CODE_OWNERS: Take code ownership of instruction scheduling. 2017-03-10 18:34:37 +00:00
LICENSE.TXT Bump year to 2017 in LICENSE.txt 2017-01-12 18:02:42 +00:00
llvm.spec.in
LLVMBuild.txt
README.txt Test commit. Added a blank line. 2017-03-06 20:45:33 +00:00
RELEASE_TESTERS.TXT Update the release tester for MIPS. NFC. 2017-01-17 11:00:28 +00:00

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.