llvm-capstone/lld/COFF
Alexandre Ganea bf55c4e3e3 [LLD][COFF] Early dependency detection
We introduce a new class hierarchy for debug types merging (in DebugTypes.h). The end-goal is to parallelize the type merging - please see the plan in D59226.

Previously, dependency discovery was done on the fly, much later, during the type merging loop. Unfortunately, parallelizing the type merging requires the dependencies to be merged in first, before any dependent ObjFile, thus this early discovery.

The overall intention for this path is to discover debug information dependencies at a much earlier stage, when processing input files. Currently, two types of dependency are supported: PDB type servers (when compiling with MSVC /Zi) and precompiled headers OBJs (when compiling with MSVC /Yc and /Yu). Once discovered, an explicit link is added into the dependent ObjFile, through the new debug types class hierarchy introduced in DebugTypes.h.

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

llvm-svn: 357383
2019-04-01 13:36:59 +00:00
..
Chunks.cpp [COFF] Optimize range extension thunk insertion memory usage 2019-03-28 18:30:03 +00:00
Chunks.h [COFF] Optimize range extension thunk insertion memory usage 2019-03-28 18:30:03 +00:00
CMakeLists.txt [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
Config.h [LLD][COFF] Improve checkFailIfMismatch() 2019-03-29 19:58:58 +00:00
DebugTypes.cpp [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
DebugTypes.h [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
DLL.cpp Fix broken export table if .rdata is merged with .text. 2019-01-24 19:02:31 +00:00
DLL.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Driver.cpp Replace typedef A B with using B = A. NFC. 2019-04-01 00:11:24 +00:00
Driver.h [LLD][COFF] Improve checkFailIfMismatch() 2019-03-29 19:58:58 +00:00
DriverUtils.cpp [LLD][COFF] Improve checkFailIfMismatch() 2019-03-29 19:58:58 +00:00
ICF.cpp [COFF] Delete unused declarations and add a missing forward declaration. NFC 2019-03-15 09:40:03 +00:00
ICF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InputFiles.cpp [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
InputFiles.h [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
LTO.cpp Fix names of functions in TargetOptionsCommandFlags.h. NFC. 2019-02-01 02:24:50 +00:00
LTO.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MapFile.cpp Replace typedef A B with using B = A. NFC. 2019-04-01 00:11:24 +00:00
MapFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.h [COFF] Delete unused declarations and add a missing forward declaration. NFC 2019-03-15 09:40:03 +00:00
MinGW.cpp Move MinGW-specific code out of LinkerDriver::link. NFC. 2019-02-19 22:06:44 +00:00
MinGW.h Move MinGW-specific code out of LinkerDriver::link. NFC. 2019-02-19 22:06:44 +00:00
Options.td [LLD][COFF] Add /summary to print statistics 2019-03-14 18:45:08 +00:00
PDB.cpp [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
PDB.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Symbols.cpp lld-link: Only print demangled symbol names by default 2019-03-11 23:02:18 +00:00
Symbols.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolTable.cpp [LLD][COFF] More detailed information for /failifmismatch 2019-03-06 20:18:38 +00:00
SymbolTable.h lld/coff: Implement some support for the comdat selection field 2019-01-30 02:17:27 +00:00
Writer.cpp [LLD][COFF] Generate import modules & COFF groups in PDB 2019-03-29 20:25:34 +00:00
Writer.h [LLD][COFF] Generate import modules & COFF groups in PDB 2019-03-29 20:25:34 +00:00

See docs/NewLLD.rst