llvm-project/llvm/lib/DebugInfo/CodeView
Zachary Turner 07d803777c [CodeView] Micro-optimizations to speed up type merging.
Based on a profile, a couple of hot spots were identified in the
main type merging loop.  The code was simplified, a few loops
were re-arranged, and some outlined functions were inlined.  This
speeds up type merging by a decent amount, shaving around 3-4 seconds
off of a 40 second link in my test case.

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

llvm-svn: 323790
2018-01-30 17:12:04 +00:00
..
AppendingTypeTableBuilder.cpp Split TypeTableBuilder into two classes. 2017-11-30 18:39:50 +00:00
CMakeLists.txt [CodeView] Teach clang to emit the .debug$H COFF section. 2017-12-13 22:33:58 +00:00
CVSymbolVisitor.cpp Remove redundant includes from lib/DebugInfo. 2017-12-13 21:30:49 +00:00
CVTypeVisitor.cpp Remove redundant includes from lib/DebugInfo. 2017-12-13 21:30:49 +00:00
CodeViewError.cpp [pdb] Add the ability to resolve TypeServer PDBs. 2017-02-16 23:35:45 +00:00
CodeViewRecordIO.cpp [codeview] Fix YAML for LF_TYPESERVER2 by hoisting PDB_UniqueId 2017-07-17 23:59:44 +00:00
ContinuationRecordBuilder.cpp Fix non assert build warnings. 2017-11-28 18:50:08 +00:00
DebugChecksumsSubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugCrossExSubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugCrossImpSubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugFrameDataSubsection.cpp [CodeView] Add more DebugSubsection implementations. 2017-05-30 17:13:33 +00:00
DebugInlineeLinesSubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugLinesSubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugStringTableSubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugSubsection.cpp [CodeView] Rename ModuleDebugFragment -> DebugSubsection. 2017-05-30 16:36:15 +00:00
DebugSubsectionRecord.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugSubsectionVisitor.cpp Resubmit "[codeview] Make obj2yaml/yaml2obj support .debug$S..." 2017-06-14 15:59:27 +00:00
DebugSymbolRVASubsection.cpp [CodeView] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-29 00:05:44 +00:00
DebugSymbolsSubsection.cpp [CodeView] Add more DebugSubsection implementations. 2017-05-30 17:13:33 +00:00
EnumTables.cpp CodeView: Provide a .def file with the register ids 2017-10-03 18:27:22 +00:00
Formatters.cpp [codeview] Fix YAML for LF_TYPESERVER2 by hoisting PDB_UniqueId 2017-07-17 23:59:44 +00:00
GlobalTypeTableBuilder.cpp [CodeView] Micro-optimizations to speed up type merging. 2018-01-30 17:12:04 +00:00
LLVMBuild.txt
LazyRandomTypeCollection.cpp Teach llvm-pdbutil to dump types from object files. 2017-12-05 23:58:18 +00:00
Line.cpp
MergingTypeTableBuilder.cpp [CodeView] Add support for content hashing CodeView type records. 2017-12-05 23:08:58 +00:00
RecordName.cpp [LLD/PDB] Write actual records to the globals stream. 2017-08-11 19:00:03 +00:00
RecordSerialization.cpp [PDB] Improve GSI hash table dumping for publics and globals 2017-07-26 00:40:36 +00:00
SimpleTypeSerializer.cpp [CodeView] Refactor / Rewrite TypeSerializer and TypeTableBuilder. 2017-11-28 18:33:17 +00:00
StringsAndChecksums.cpp [llvm-pdbutil] Support dumping CodeView from object files. 2017-09-01 20:06:56 +00:00
SymbolDumper.cpp Remove redundant includes from lib/DebugInfo. 2017-12-13 21:30:49 +00:00
SymbolRecordMapping.cpp [CodeView] Fix dumping of public symbol record flags 2017-06-19 16:54:51 +00:00
SymbolSerializer.cpp [PDB] Serialize records into a stack-allocated buffer. 2017-08-21 20:17:19 +00:00
TypeDumpVisitor.cpp Remove redundant includes from lib/DebugInfo. 2017-12-13 21:30:49 +00:00
TypeHashing.cpp [COFF] Teach LLD to use the COFF .debug$H section. 2017-12-14 18:07:04 +00:00
TypeIndex.cpp Resubmit "[llvm-pdbutil] rewrite the "raw" output style." 2017-06-15 22:24:24 +00:00
TypeIndexDiscovery.cpp [DebugInfo] Fix register variables not showing up in pdb. 2017-12-07 22:51:16 +00:00
TypeRecordMapping.cpp [CodeView] Refactor / Rewrite TypeSerializer and TypeTableBuilder. 2017-11-28 18:33:17 +00:00
TypeStreamMerger.cpp [CodeView] Micro-optimizations to speed up type merging. 2018-01-30 17:12:04 +00:00
TypeTableCollection.cpp Remove redundant includes from lib/DebugInfo. 2017-12-13 21:30:49 +00:00