commit | fd6064e28ab83eb03c134905dcfd1a6d01d28ac0 | [log] [tgz] |
---|---|---|
author | Martin Storsjo <martin@martin.st> | Fri Aug 31 07:45:20 2018 +0000 |
committer | Martin Storsjo <martin@martin.st> | Fri Aug 31 07:45:20 2018 +0000 |
tree | d7e1b57819719852608ed683a92a39afa1caca40 | |
parent | 2581b690081e24d4b2f6f81ff399aa69cea1ad01 [diff] |
[COFF] When doing automatic dll imports, replace whole .refptr.<var> chunks with __imp_<var> After fixing up the runtime pseudo relocation, the .refptr.<var> will be a plain pointer with the same value as the IAT entry itself. To save a little binary size and reduce the number of runtime pseudo relocations, redirect references to the IAT entry (via the __imp_<var> symbol) itself and discard the .refptr.<var> chunk (as long as the same section chunk doesn't contain anything else than the single pointer). As there are now cases for both setting the Live variable to true and false externally, remove the accessors and setters and just make the variable public instead. Differential Revision: https://reviews.llvm.org/D51456 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@341175 91177308-0d34-0410-b5e6-96231b3b80d8
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.
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.