llvm/lld/COFF
Martin Storsjö 9ffeaaa0ea [LLD] [COFF] Use StringTableBuilder to optimize the string table
This does tail merging (and deduplication) of the strings.

On a statically linked clang.exe, this shrinks the ~17 MB string
table by around 0.5 MB. This adds ~160 ms to the linking time
which originally was around 950 ms.

For cases where `-debug:symtab` or `-debug:dwarf` isn't set, the
string table is only used for long section names, where this
shouldn't make any difference at all.

Differential Revision: https://reviews.llvm.org/D120677
2022-03-01 18:44:03 +02:00
..
CallGraphSort.cpp
CallGraphSort.h
Chunks.cpp Revert "Rename llvm::array_lengthof into llvm::size to match std::size from C++17" 2022-01-26 16:55:53 +01:00
Chunks.h
CMakeLists.txt Reland: Make lld-link work in a non-MSVC shell, add /winsysroot: 2022-02-16 09:22:39 -05:00
COFFLinkerContext.cpp
COFFLinkerContext.h Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05:00
Config.h [LLD][COFF] Support GNU style == aliases 2022-01-19 14:22:13 +01:00
DebugTypes.cpp
DebugTypes.h
DLL.cpp Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05:00
DLL.h
Driver.cpp Reland: Make lld-link work in a non-MSVC shell, add /winsysroot: 2022-02-16 09:22:39 -05:00
Driver.h Reland: Make lld-link work in a non-MSVC shell, add /winsysroot: 2022-02-16 09:22:39 -05:00
DriverUtils.cpp Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05:00
ICF.cpp
ICF.h
InputFiles.cpp Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05:00
InputFiles.h
LLDMapFile.cpp
LLDMapFile.h
LTO.cpp Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05:00
LTO.h
MapFile.cpp
MapFile.h
MarkLive.cpp
MarkLive.h
MinGW.cpp Re-land [LLD] Remove global state in lldCommon 2022-01-20 14:53:26 -05:00
MinGW.h
Options.td Reland: Make lld-link work in a non-MSVC shell, add /winsysroot: 2022-02-16 09:22:39 -05:00
PDB.cpp Cleanup llvm/DebugInfo/PDB headers 2022-02-23 10:31:34 +01:00
PDB.h
README.md
Symbols.cpp
Symbols.h
SymbolTable.cpp Reland: Make lld-link work in a non-MSVC shell, add /winsysroot: 2022-02-16 09:22:39 -05:00
SymbolTable.h
TypeMerger.h
Writer.cpp [LLD] [COFF] Use StringTableBuilder to optimize the string table 2022-03-01 18:44:03 +02:00
Writer.h

See docs/NewLLD.rst