llvm-project/llvm/lib/DebugInfo/PDB
Reid Kleckner 6e545ffc4e [PDB] Emit index/offset pairs for TPI and IPI streams
Summary:
This lets PDB readers lookup type record data by type index in O(log n)
time. It also enables makes `cvdump -t` work on PDBs produced by LLD.
cvdump will not dump a PDB that doesn't have an index-to-offset table.

The table is sorted by type index, and has an entry every 8KB. Looking
up a type record by index is a binary search of this table, followed by
a scan of at most 8KB.

Reviewers: ruiu, zturner, inglorion

Subscribers: llvm-commits

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

llvm-svn: 299958
2017-04-11 16:26:15 +00:00
..
DIA Implement some methods for NativeRawSymbol 2017-02-24 00:10:47 +00:00
Native [PDB] Emit index/offset pairs for TPI and IPI streams 2017-04-11 16:26:15 +00:00
CMakeLists.txt Re-land: "Make NativeExeSymbol a concrete subclass of NativeRawSymbol [PDB]" 2017-03-29 19:27:08 +00:00
GenericError.cpp Remove LLVM_NOEXCEPT and replace it with noexcept 2016-10-19 23:52:38 +00:00
IPDBSourceFile.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
LLVMBuild.txt [msf] Resubmit "Rename Msf -> MSF". 2016-07-29 20:56:36 +00:00
PDB.cpp NFC: Rename PDB_ReaderType::Raw to Native for consistency with the NativeSession rename. 2017-01-27 00:01:55 +00:00
PDBContext.cpp dwarfdump: -summarize-types: print a short summary (unqualified type name, hash, length) of type units rather than dumping contents 2016-10-18 21:09:48 +00:00
PDBExtras.cpp Properly parse the TypeServer2 record. 2017-02-03 21:22:27 +00:00
PDBInterfaceAnchors.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
PDBSymDumper.cpp [DebugInfo] Fix some Clang-tidy modernize-use-default and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 23:16:32 +00:00
PDBSymbol.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolAnnotation.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolBlock.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCompiland.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCompilandDetails.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCompilandEnv.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolCustom.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolData.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolExe.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolFunc.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolFuncDebugEnd.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolFuncDebugStart.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolLabel.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolPublicSymbol.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolThunk.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeArray.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PDBSymbolTypeBaseClass.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeBuiltin.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeCustom.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeDimension.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeEnum.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeFriend.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeFunctionArg.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeFunctionSig.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PDBSymbolTypeManaged.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypePointer.cpp Improves pretty printing of variable types in llvm-pdbdump 2017-04-10 16:43:09 +00:00
PDBSymbolTypeTypedef.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeUDT.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeVTable.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolTypeVTableShape.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00
PDBSymbolUnknown.cpp Move pdb code into pdb namespace. 2016-05-04 20:32:13 +00:00
PDBSymbolUsingNamespace.cpp General usability improvements to generic PDB library. 2017-04-10 06:14:09 +00:00