hanchenye-llvm-project/lld/COFF
Zachary Turner 2897e0306e [lld] Fix a bug where we continually re-follow type servers.
Originally this was intended to be set up so that when linking
a PDB which refers to a type server, it would only visit the
PDB once, and on subsequent visitations it would just skip it
since all the records had already been added.

Due to some C++ scoping issues, this was not occurring and it
was revisiting the type server every time, which caused every
record to end up being thrown away on all subsequent visitations.

This doesn't affect the performance of linking clang-cl generated
object files because we don't use type servers, but when linking
object files and libraries generated with /Zi via MSVC, this means
only 1 object file has to be linked instead of N object files, so
the speedup is quite large.

llvm-svn: 303920
2017-05-25 21:16:03 +00:00
..
CMakeLists.txt COFF: migrate def parser from LLD to LLVM [2/2] 2017-05-20 19:56:44 +00:00
Chunks.cpp Fix comments again. 2017-04-26 20:20:05 +00:00
Chunks.h Use the same terminology as ELF. 2017-05-05 23:52:24 +00:00
Config.h Set IMAGE_DLL_CHARACTERISTICS_NO_BIND. 2017-05-18 20:26:58 +00:00
DLL.cpp Merge IAT and ILT. 2017-05-18 19:59:22 +00:00
DLL.h Merge IAT and ILT. 2017-05-18 19:59:22 +00:00
Driver.cpp COFF: migrate def parser from LLD to LLVM [2/2] 2017-05-20 19:56:44 +00:00
Driver.h COFF: migrate def parser from LLD to LLVM [2/2] 2017-05-20 19:56:44 +00:00
DriverUtils.cpp Use make<> everywhere in COFF to make it consistent with ELF. 2017-05-18 17:03:49 +00:00
Error.cpp Flush output in log() 2017-04-28 21:35:02 +00:00
Error.h Do not pass archive files containing non-native object files. 2017-03-16 21:19:36 +00:00
ICF.cpp Fix the sanitizer-windows bot. 2017-05-24 20:32:23 +00:00
InputFiles.cpp Make key-value types explicit. NFC. 2017-05-24 17:12:32 +00:00
InputFiles.h Garbage collect dllimported symbols. 2017-05-24 22:30:06 +00:00
LTO.cpp [coff] default to multiple parallel ThinLTO jobs 2017-04-12 18:36:13 +00:00
LTO.h Add an option to use the MSVC linker to link LTO-generated object files. 2017-02-06 20:47:55 +00:00
MapFile.cpp [Support] Move Parallel algorithms from LLD to LLVM. 2017-05-11 00:03:52 +00:00
MapFile.h COFF: Change the /lldmap output format to be more like the ELF linker. 2017-01-14 03:14:46 +00:00
MarkLive.cpp Garbage collect dllimported symbols. 2017-05-24 22:30:06 +00:00
Memory.h Remove lld/Support/Memory.h. 2016-12-18 14:06:06 +00:00
Options.td [COFF] Fix interaction between /DEBUG and /PDB 2017-05-18 15:15:10 +00:00
PDB.cpp [lld] Fix a bug where we continually re-follow type servers. 2017-05-25 21:16:03 +00:00
PDB.h COFF: tie the execute and the PDB together 2017-01-04 17:56:54 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Strings.cpp Fix Windows buildbots. 2016-12-07 23:24:32 +00:00
Strings.h COFF: Define overloaded toString functions. 2016-12-07 23:17:02 +00:00
SymbolTable.cpp [COFF] support /ERRORLIMIT option 2017-04-05 00:43:54 +00:00
SymbolTable.h Use make<> everywhere in COFF to make it consistent with ELF. 2017-05-18 17:03:49 +00:00
Symbols.cpp Garbage collect dllimported symbols. 2017-05-24 22:30:06 +00:00
Symbols.h Garbage collect dllimported symbols. 2017-05-24 22:30:06 +00:00
Writer.cpp Use MD5::hash(). NFC. 2017-05-25 18:17:43 +00:00
Writer.h COFF: Change the /lldmap output format to be more like the ELF linker. 2017-01-14 03:14:46 +00:00

README.md

See docs/NewLLD.rst