mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 22:00:10 +00:00
3313b84481
In particular, relocations to absolute symbols or literal sections can be handled in equalsConstant(), since their output addresses will not change across each iteration of ICF. Offsets and addends can also be dealt with entirely in equalsConstant(), making the code somewhat easier to reason about. Only ConcatInputSections need to be handled in equalsVariable(). LLD-ELF's implementation takes a similar approach. Although this should make ICF do less work, in practice it seems like there is no stat sig difference in time taken when linking chromium_framework. This refactor is motivated by an upcoming diff which improves ICF's handling of addends. Reviewed By: #lld-macho, gkm Differential Revision: https://reviews.llvm.org/D106212 |
||
---|---|---|
.. | ||
cmake/modules | ||
COFF | ||
Common | ||
docs | ||
ELF | ||
include/lld | ||
lib | ||
MachO | ||
MinGW | ||
test | ||
tools/lld | ||
unittests | ||
utils | ||
wasm | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OWNERS.TXT | ||
LICENSE.TXT | ||
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.
Benchmarking
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f
.