hanchenye-llvm-project/lld/COFF
Zachary Turner 946204c83e [PDB] Merge Global and Publics Builders.
The publics stream and globals stream are very similar. They both
contain a list of hash buckets that refer into a single shared stream,
the symbol record stream. Because of the need for each builder to manage
both an independent hash stream as well as a single shared record
stream, making the two builders be independent entities is not the right
design. This patch merges them into a single class, of which only a
single instance is needed to create all 3 streams.  PublicsStreamBuilder
and GlobalsStreamBuilder are now merged into the single GSIStreamBuilder
class, which writes all 3 streams at once.

Note that this patch does not contain any functionality change. So we're
still not yet writing any records to the globals stream. All we're doing
is making it so that when we do start writing records to the globals,
this refactor won't have to be part of that patch.

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

llvm-svn: 310438
2017-08-09 04:23:25 +00:00
..
CMakeLists.txt Add BinaryFormat to lld libraries 2017-06-07 18:06:11 +00:00
Chunks.cpp Rename ObjectFile ObjFile for COFF as well. 2017-07-26 23:05:24 +00:00
Chunks.h [PDB] Improve our PDB OMF debug directory entry 2017-08-02 23:19:54 +00:00
Config.h lld: only write .manifest files if /manifest is passed, PR33925 2017-07-25 18:08:03 +00:00
DLL.cpp [COFF] Add support for delay loading DLLs on ARM 2017-07-25 20:00:37 +00:00
DLL.h Revert "Merge IAT and ILT." 2017-06-02 18:49:38 +00:00
Driver.cpp Add {Obj,Import,Bitcode}File::Instances to COFF input files. 2017-07-27 00:45:26 +00:00
Driver.h Remove unused declarations 2017-06-30 00:34:35 +00:00
DriverUtils.cpp lld: /manifestuac:no shouldn't disable /manifestdependency: 2017-07-26 23:38:10 +00:00
Error.cpp [lld/pdb] Add some basic linker module symbols. 2017-07-10 21:01:37 +00:00
Error.h [lld/pdb] Add some basic linker module symbols. 2017-07-10 21:01:37 +00:00
ICF.cpp Fix the sanitizer-windows bot. 2017-05-24 20:32:23 +00:00
InputFiles.cpp Add {Obj,Import,Bitcode}File::Instances to COFF input files. 2017-07-27 00:45:26 +00:00
InputFiles.h Add {Obj,Import,Bitcode}File::Instances to COFF input files. 2017-07-27 00:45:26 +00:00
LTO.cpp [coff] default to multiple parallel ThinLTO jobs 2017-04-12 18:36:13 +00:00
LTO.h
MapFile.cpp Add {Obj,Import,Bitcode}File::Instances to COFF input files. 2017-07-27 00:45:26 +00:00
MapFile.h
MarkLive.cpp [COFF] Allow debug info to relocate against discarded symbols 2017-06-28 17:06:35 +00:00
Memory.h
Options.td Remove /dumppdb option from LLD. 2017-06-16 23:41:44 +00:00
PDB.cpp [PDB] Merge Global and Publics Builders. 2017-08-09 04:23:25 +00:00
PDB.h [PDB] Fix section contributions 2017-08-03 21:15:09 +00:00
README.md
Strings.cpp Fix build breakage. 2017-06-19 18:04:34 +00:00
Strings.h
SymbolTable.cpp Add {Obj,Import,Bitcode}File::Instances to COFF input files. 2017-07-27 00:45:26 +00:00
SymbolTable.h [PDB] Write public symbol records and the publics hash table 2017-07-27 18:25:59 +00:00
Symbols.cpp [PDB] Write public symbol records and the publics hash table 2017-07-27 18:25:59 +00:00
Symbols.h [PDB] Write public symbol records and the publics hash table 2017-07-27 18:25:59 +00:00
Writer.cpp Fix build breakage. 2017-08-04 20:07:08 +00:00
Writer.h

README.md

See docs/NewLLD.rst