llvm-capstone/lld/COFF
Martin Storsjö e1adf90826 [LLD] [COFF] Avoid doing repeated fuzzy symbol lookup for each iteration. NFC.
This is run every time around in the main linker loop. Once a match
has been found, stop trying to rematch such a symbol.

Not sure if this has any actual measurable performance impact though
(SymbolTable::findMangle() iterates over the whole symbol table for
each call and does fuzzy matching on top of that) but this makes the
code more reassuring to read at least. (This is in practice run for def
files listing undecorated stdcall functions to be exported.)

Differential Revision: https://reviews.llvm.org/D104529
2021-06-19 22:32:37 +03:00
..
CallGraphSort.cpp [COFF] Port CallGraphSort to COFF from ELF 2020-07-30 15:21:44 -07:00
CallGraphSort.h [COFF] Port CallGraphSort to COFF from ELF 2020-07-30 15:21:44 -07:00
Chunks.cpp lld-coff: Simplify a few lambda uses after 7975dd033c 2021-05-24 17:26:46 -07:00
Chunks.h [COFF] Remove a truncation assertion from setRVA 2021-05-13 19:37:14 -07:00
CMakeLists.txt [COFF] Port CallGraphSort to COFF from ELF 2020-07-30 15:21:44 -07:00
Config.h [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
DebugTypes.cpp [LLD][COFF] Reduce the maximum size of the GHASH table 2021-05-28 09:46:17 -04:00
DebugTypes.h [LLD][COFF] Simplify function. NFC. 2021-01-07 22:37:11 -05:00
DLL.cpp [LLD] [COFF] Remove a stray duplicate comment. NFC. 2021-06-17 13:02:35 +03:00
DLL.h [COFF] Share the tail in delayimport symbol thunks 2019-07-11 21:19:11 +00:00
Driver.cpp [LLD] [COFF] Avoid doing repeated fuzzy symbol lookup for each iteration. NFC. 2021-06-19 22:32:37 +03:00
Driver.h [lld-link] Add /reproduce: support for several flags 2021-02-22 16:52:49 -05:00
DriverUtils.cpp [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
ICF.cpp Revert "[COFF] Only consider associated EH sections during ICF" 2021-03-29 19:15:35 -07:00
ICF.h [lld-link] Add safe icf mode to lld-link, which does safe icf for all sections. 2021-03-03 14:52:33 -08:00
InputFiles.cpp [LLD] [COFF] Fix autoexport from LTO objects with comdat symbols 2021-06-03 15:14:49 +03:00
InputFiles.h [LLD] Implement /guard:[no]ehcont 2021-04-14 15:06:49 +08:00
LLDMapFile.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
LLDMapFile.h [lld-link] Support /map option, matching link.exe 's /map output format 2020-03-24 09:48:00 -04:00
LTO.cpp Reland "[lld-link] Enable addrsig table in COFF lto" 2021-04-29 15:54:12 -07:00
LTO.h [COFF] Assign unique identifiers to ObjFiles from LTO 2020-04-17 17:15:12 -07:00
MapFile.cpp [Support] Move LLD's parallel algorithm wrappers to support 2020-05-05 15:21:05 -07:00
MapFile.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp [COFF] Don't treat DWARF sections as GC roots 2020-03-27 12:37:43 -07:00
MarkLive.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MinGW.cpp [LLD] [COFF] Fix the mingw --export-all-symbols behaviour with comdat symbols 2021-04-29 23:35:10 +03:00
MinGW.h Reapply [LLD] [COFF] Implement a GNU/ELF like -wrap option 2020-10-15 22:14:02 +03:00
Options.td [lld] add context-sensitive PGO options for COFF. 2021-03-24 23:40:09 -07:00
PDB.cpp [PDB] Do not record PGO or coverage public symbols 2021-05-19 12:41:31 -07:00
PDB.h Re-land "[PDB] Merge types in parallel when using ghashing" 2020-09-30 15:44:38 -07:00
README.md
Symbols.cpp [COFF] Migrate COFFObjectFile to Expected<T> 2020-05-08 14:01:39 -07:00
Symbols.h [CFGuard] Add address-taken IAT tables and delay-load support 2020-11-17 18:24:45 -08:00
SymbolTable.cpp Reapply [LLD] [COFF] Implement a GNU/ELF like -wrap option 2020-10-15 22:14:02 +03:00
SymbolTable.h [COFF] Assign unique identifiers to ObjFiles from LTO 2020-04-17 17:15:12 -07:00
TypeMerger.h [PDB] Use one func id DenseMap instead of per-source maps, NFC 2020-10-01 12:22:27 -07:00
Writer.cpp [lld-link] Warn on exported deleting dtor 2021-04-20 14:06:31 -07:00
Writer.h [LLD][COFF] Cover usage of LLD-as-a-library in tests 2020-09-24 15:07:50 -04:00

See docs/NewLLD.rst