llvm-project/lld/COFF
Zachary Turner 1bc2ce6b9b Speed up iteration of CodeView record streams.
There's some abstraction overhead in the underlying
mechanisms that were being used, and it was leading to an
abundance of small but not-free copies being made.  This
showed up on a profile.  Eliminating this and going back to
a low-level byte-based implementation speeds up lld with
/DEBUG between 10 and 15%.

Differential Revision: https://reviews.llvm.org/D42148

llvm-svn: 322871
2018-01-18 18:35:01 +00:00
..
CMakeLists.txt [lld] unified COFF and ELF error handling on new Common/ErrorHandler 2017-10-25 22:28:38 +00:00
Chunks.cpp [COFF] Error out if 20 bit thumb branches are out of range 2017-12-14 08:56:36 +00:00
Chunks.h Reland r319090, "COFF: Do not create SectionChunks for discarded comdat sections." with a fix for debug sections. 2017-11-28 01:30:07 +00:00
Config.h [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
DLL.cpp [COFF] Don't set the thumb bit in address table entries for data symbols 2017-12-20 06:50:45 +00:00
DLL.h Revert "Merge IAT and ILT." 2017-06-02 18:49:38 +00:00
Driver.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
Driver.h [COFF] Process /EXPORT option in fastpath 2018-01-09 20:36:42 +00:00
DriverUtils.cpp Attempt to fix FreeBSD build broken by the previous commit 2018-01-12 10:09:10 +00:00
ICF.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
InputFiles.cpp Remove checkToString functions and use toString instead. 2017-12-07 03:24:57 +00:00
InputFiles.h Prefer `ArrayRef` over `const std::vector&` 2017-12-08 01:09:21 +00:00
LTO.cpp Rename replaceBody -> replaceSymbol. 2017-11-03 22:48:47 +00:00
LTO.h Move new lld's code to Common subdirectory. 2017-10-02 21:00:41 +00:00
MapFile.cpp COFF: Remove the SymbolBodies vector, and rename SparseSymbolBodies to Symbols. 2017-11-20 18:52:53 +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 [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
MinGW.cpp [COFF] Don't export symbols that have corresponding __imp_ symbols 2017-11-29 05:50:49 +00:00
MinGW.h [COFF] Avoid forward declaring StringSet, fix build 2017-10-19 20:19:16 +00:00
Options.td [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
PDB.cpp Speed up iteration of CodeView record streams. 2018-01-18 18:35:01 +00:00
PDB.h [LLD COFF/PDB] Incrementally update the build id. 2017-08-15 21:31:41 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Strings.cpp Factor out common code to Common/Strings.cpp. 2017-11-28 02:15:26 +00:00
Strings.h Factor out common code to Common/Strings.cpp. 2017-11-28 02:15:26 +00:00
SymbolTable.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
SymbolTable.h Reland r319090, "COFF: Do not create SectionChunks for discarded comdat sections." with a fix for debug sections. 2017-11-28 01:30:07 +00:00
Symbols.cpp Move Memory.{h,cpp} to Common. 2017-11-28 20:39:17 +00:00
Symbols.h Move Memory.{h,cpp} to Common. 2017-11-28 20:39:17 +00:00
Writer.cpp [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00
Writer.h [coff] Print detailed timing information with /TIME. 2018-01-17 19:16:26 +00:00

README.md

See docs/NewLLD.rst