llvm-project/llvm/lib/DebugInfo/CodeView
Zachary Turner 1bc2ce6b9b Speed up iteration of CodeView record streams.
There's some abstraction overhead in the underlying
mechanisms that were being used, and it was leading to an
abundance of small but not-free copies being made.  This
showed up on a profile.  Eliminating this and going back to
a low-level byte-based implementation speeds up lld with
/DEBUG between 10 and 15%.

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

llvm-svn: 322871
2018-01-18 18:35:01 +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] Teach clang to emit the .debug$H COFF section. 2017-12-13 22:33:58 +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 Speed up iteration of CodeView record streams. 2018-01-18 18:35:01 +00:00
TypeTableCollection.cpp Remove redundant includes from lib/DebugInfo. 2017-12-13 21:30:49 +00:00