hanchenye-llvm-project/lld
Rui Ueyama 23487e878b Make dead-striping to handle reverse edges.
Layout-before edges are no longer used for layout, but they are
still there for dead-stripping. If we would just remove them
from code, LLD would wrongly remove live atoms that were
referenced by layout-befores.

This patch fixes the issue. Before dead-stripping, it scans all
atoms to construct a reverse map for layout-after edges. Dead-
stripping pass uses the map to traverse the graph.

Differential Revision: http://reviews.llvm.org/D3986

llvm-svn: 210057
2014-06-03 01:59:02 +00:00
..
cmake/modules
docs Add support for building Sphinx documentation when being built inside LLVM source tree and using CMake. 2014-04-18 21:59:05 +00:00
include/lld Make dead-striping to handle reverse edges. 2014-06-03 01:59:02 +00:00
lib Make dead-striping to handle reverse edges. 2014-06-03 01:59:02 +00:00
test Make dead-striping to handle reverse edges. 2014-06-03 01:59:02 +00:00
tools [PECOFF] Rename link.exe -> lld-link.exe. 2014-03-21 20:41:48 +00:00
unittests Add observers to Input Graph 2014-05-14 05:31:54 +00:00
utils Replace OwningPtr with std::unique_ptr. 2014-03-13 16:20:38 +00:00
.arcconfig Update Phabricator server. 2014-04-07 04:52:24 +00:00
.clang-format
.gitignore
CMakeLists.txt Add support for building Sphinx documentation when being built inside LLVM source tree and using CMake. 2014-04-18 21:59:05 +00:00
LICENSE.TXT
README.md

README.md

LLVM Linker (lld)

This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.

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