diff options
author | Zachary Turner <zturner@google.com> | 2017-11-30 18:39:50 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2017-11-30 18:39:50 +0000 |
commit | 47856b25a74f4676cbcd3a38b9db221dc5a182b3 (patch) | |
tree | c784088532b523b226dde2e77619e4ca21ce78fe /tools | |
parent | 69d3274f508e17a5c37367b9414211fa160753d4 (diff) |
Split TypeTableBuilder into two classes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319456 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/llvm-pdbutil/llvm-pdbutil.cpp | 9 | ||||
-rw-r--r-- | tools/llvm-readobj/COFFDumper.cpp | 17 | ||||
-rw-r--r-- | tools/llvm-readobj/ObjDumper.h | 13 | ||||
-rw-r--r-- | tools/llvm-readobj/llvm-readobj.cpp | 6 |
4 files changed, 24 insertions, 21 deletions
diff --git a/tools/llvm-pdbutil/llvm-pdbutil.cpp b/tools/llvm-pdbutil/llvm-pdbutil.cpp index 43dad61037c..8fd6a38aa36 100644 --- a/tools/llvm-pdbutil/llvm-pdbutil.cpp +++ b/tools/llvm-pdbutil/llvm-pdbutil.cpp @@ -35,13 +35,14 @@ #include "llvm/ADT/StringExtras.h" #include "llvm/BinaryFormat/Magic.h" #include "llvm/Config/config.h" +#include "llvm/DebugInfo/CodeView/AppendingTypeTableBuilder.h" #include "llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h" #include "llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h" #include "llvm/DebugInfo/CodeView/DebugLinesSubsection.h" #include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h" +#include "llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h" #include "llvm/DebugInfo/CodeView/StringsAndChecksums.h" #include "llvm/DebugInfo/CodeView/TypeStreamMerger.h" -#include "llvm/DebugInfo/CodeView/TypeTableBuilder.h" #include "llvm/DebugInfo/MSF/MSFBuilder.h" #include "llvm/DebugInfo/PDB/GenericError.h" #include "llvm/DebugInfo/PDB/IPDBEnumChildren.h" @@ -727,7 +728,7 @@ static void yamlToPdb(StringRef Path) { auto &TpiBuilder = Builder.getTpiBuilder(); const auto &Tpi = YamlObj.TpiStream.getValueOr(DefaultTpiStream); TpiBuilder.setVersionHeader(Tpi.Version); - TypeTableBuilder TS(Allocator); + AppendingTypeTableBuilder TS(Allocator); for (const auto &R : Tpi.Records) { CVType Type = R.toCodeViewRecord(TS); TpiBuilder.addTypeRecord(Type.RecordData, None); @@ -989,8 +990,8 @@ static void dumpPretty(StringRef Path) { static void mergePdbs() { BumpPtrAllocator Allocator; - TypeTableBuilder MergedTpi(Allocator); - TypeTableBuilder MergedIpi(Allocator); + MergingTypeTableBuilder MergedTpi(Allocator); + MergingTypeTableBuilder MergedIpi(Allocator); // Create a Tpi and Ipi type table with all types from all input files. for (const auto &Path : opts::merge::InputFilenames) { diff --git a/tools/llvm-readobj/COFFDumper.cpp b/tools/llvm-readobj/COFFDumper.cpp index fa56ed6942e..ca2a9ec1615 100644 --- a/tools/llvm-readobj/COFFDumper.cpp +++ b/tools/llvm-readobj/COFFDumper.cpp @@ -31,6 +31,7 @@ #include "llvm/DebugInfo/CodeView/DebugStringTableSubsection.h" #include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h" #include "llvm/DebugInfo/CodeView/Line.h" +#include "llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h" #include "llvm/DebugInfo/CodeView/RecordSerialization.h" #include "llvm/DebugInfo/CodeView/SymbolDeserializer.h" #include "llvm/DebugInfo/CodeView/SymbolDumpDelegate.h" @@ -40,7 +41,6 @@ #include "llvm/DebugInfo/CodeView/TypeIndex.h" #include "llvm/DebugInfo/CodeView/TypeRecord.h" #include "llvm/DebugInfo/CodeView/TypeStreamMerger.h" -#include "llvm/DebugInfo/CodeView/TypeTableBuilder.h" #include "llvm/DebugInfo/CodeView/TypeTableCollection.h" #include "llvm/Object/COFF.h" #include "llvm/Object/ObjectFile.h" @@ -96,8 +96,9 @@ public: void printCOFFResources() override; void printCOFFLoadConfig() override; void printCodeViewDebugInfo() override; - void mergeCodeViewTypes(llvm::codeview::TypeTableBuilder &CVIDs, - llvm::codeview::TypeTableBuilder &CVTypes) override; + void + mergeCodeViewTypes(llvm::codeview::MergingTypeTableBuilder &CVIDs, + llvm::codeview::MergingTypeTableBuilder &CVTypes) override; void printStackMap() const override; private: void printSymbol(const SymbolRef &Sym); @@ -1194,8 +1195,8 @@ void COFFDumper::printFileNameForOffset(StringRef Label, uint32_t FileOffset) { W.printHex(Label, getFileNameForFileOffset(FileOffset), FileOffset); } -void COFFDumper::mergeCodeViewTypes(TypeTableBuilder &CVIDs, - TypeTableBuilder &CVTypes) { +void COFFDumper::mergeCodeViewTypes(MergingTypeTableBuilder &CVIDs, + MergingTypeTableBuilder &CVTypes) { for (const SectionRef &S : Obj->sections()) { StringRef SectionName; error(S.getName(SectionName)); @@ -1803,9 +1804,9 @@ void COFFDumper::printStackMap() const { StackMapV2Parser<support::big>(StackMapContentsArray)); } -void llvm::dumpCodeViewMergedTypes(ScopedPrinter &Writer, - llvm::codeview::TypeTableBuilder &IDTable, - llvm::codeview::TypeTableBuilder &CVTypes) { +void llvm::dumpCodeViewMergedTypes( + ScopedPrinter &Writer, llvm::codeview::MergingTypeTableBuilder &IDTable, + llvm::codeview::MergingTypeTableBuilder &CVTypes) { // Flatten it first, then run our dumper on it. SmallString<0> TypeBuf; CVTypes.ForEachRecord([&](TypeIndex TI, const CVType &Record) { diff --git a/tools/llvm-readobj/ObjDumper.h b/tools/llvm-readobj/ObjDumper.h index f283e559e2a..c5b331d944a 100644 --- a/tools/llvm-readobj/ObjDumper.h +++ b/tools/llvm-readobj/ObjDumper.h @@ -19,7 +19,7 @@ class COFFImportFile; class ObjectFile; } namespace codeview { -class TypeTableBuilder; +class MergingTypeTableBuilder; } class ScopedPrinter; @@ -67,8 +67,9 @@ public: virtual void printCOFFResources() {} virtual void printCOFFLoadConfig() { } virtual void printCodeViewDebugInfo() { } - virtual void mergeCodeViewTypes(llvm::codeview::TypeTableBuilder &CVIDs, - llvm::codeview::TypeTableBuilder &CVTypes) {} + virtual void + mergeCodeViewTypes(llvm::codeview::MergingTypeTableBuilder &CVIDs, + llvm::codeview::MergingTypeTableBuilder &CVTypes) {} // Only implemented for MachO. virtual void printMachODataInCode() { } @@ -102,9 +103,9 @@ std::error_code createWasmDumper(const object::ObjectFile *Obj, void dumpCOFFImportFile(const object::COFFImportFile *File); -void dumpCodeViewMergedTypes(ScopedPrinter &Writer, - llvm::codeview::TypeTableBuilder &IDTable, - llvm::codeview::TypeTableBuilder &TypeTable); +void dumpCodeViewMergedTypes( + ScopedPrinter &Writer, llvm::codeview::MergingTypeTableBuilder &IDTable, + llvm::codeview::MergingTypeTableBuilder &TypeTable); } // namespace llvm diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp index b2e970f951b..61b4c12926c 100644 --- a/tools/llvm-readobj/llvm-readobj.cpp +++ b/tools/llvm-readobj/llvm-readobj.cpp @@ -23,7 +23,7 @@ #include "Error.h" #include "ObjDumper.h" #include "WindowsResourceDumper.h" -#include "llvm/DebugInfo/CodeView/TypeTableBuilder.h" +#include "llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h" #include "llvm/Object/Archive.h" #include "llvm/Object/COFFImportFile.h" #include "llvm/Object/ELFObjectFile.h" @@ -353,8 +353,8 @@ struct ReadObjTypeTableBuilder { : Allocator(), IDTable(Allocator), TypeTable(Allocator) {} llvm::BumpPtrAllocator Allocator; - llvm::codeview::TypeTableBuilder IDTable; - llvm::codeview::TypeTableBuilder TypeTable; + llvm::codeview::MergingTypeTableBuilder IDTable; + llvm::codeview::MergingTypeTableBuilder TypeTable; }; } static ReadObjTypeTableBuilder CVTypes; |