[PATCH] D122226: [llmv-pdbutil] Move InputFile/FormatUtil/LinePrinter to the PDB library.

Carlos Alberto Enciso via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 22 06:27:51 PDT 2022


CarlosAlbertoEnciso created this revision.
CarlosAlbertoEnciso added reviewers: aganea, dblaikie, rnk, probinson.
CarlosAlbertoEnciso added a project: LLVM.
Herald added subscribers: hiraditya, mgorny.
Herald added a project: All.
CarlosAlbertoEnciso requested review of this revision.
Herald added a subscriber: llvm-commits.

[llmv-pdbutil] Move InputFile/FormatUtil/LinePrinter to PDB library.

At Sony we are developing llvm-dva

https://lists.llvm.org/pipermail/llvm-dev/2020-August/144174.html

For its PDB support, it requires functionality already present in llvm-pdbutil.

We intend to move that functionaly into the PDB library to be shared by both tools. That change will be done in 2 steps, that
will be submitted as 2 patches:

(1) Replace 'ExitOnError' with explicit error handling.
(2) Move the intended shared code to the PDB library.

Patch for step (1): https://reviews.llvm.org/D121801

This patch is for step (2).

Move InputFile.cpp[h], FormatUtil.cpp[h] and LinePrinter.cpp[h] files to the debug PDB library.

It exposes the following functionality that can be used by tools:

- Open a PDB file.
- Get module debug stream.
- Traverse module sections.
- Traverse module subsections.

Most of the needed functionality is in InputFile, but there are dependencies from LinePrinter and FormatUtil.

Some other functionality is in the following functions in DumpOutputStyle.cpp file:

- iterateModuleSubsections
- getModuleDebugStream
- iterateOneModule
- iterateSymbolGroups
- iterateModuleSubsections

Only these specific functions from DumpOutputStyle are moved to the PDB library.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D122226

Files:
  llvm/include/llvm/DebugInfo/PDB/Native/FormatUtil.h
  llvm/include/llvm/DebugInfo/PDB/Native/InputFile.h
  llvm/include/llvm/DebugInfo/PDB/Native/LinePrinter.h
  llvm/lib/DebugInfo/PDB/CMakeLists.txt
  llvm/lib/DebugInfo/PDB/Native/FormatUtil.cpp
  llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
  llvm/lib/DebugInfo/PDB/Native/LinePrinter.cpp
  llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
  llvm/tools/llvm-pdbutil/BytesOutputStyle.h
  llvm/tools/llvm-pdbutil/CMakeLists.txt
  llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
  llvm/tools/llvm-pdbutil/DumpOutputStyle.h
  llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
  llvm/tools/llvm-pdbutil/ExplainOutputStyle.h
  llvm/tools/llvm-pdbutil/FormatUtil.cpp
  llvm/tools/llvm-pdbutil/FormatUtil.h
  llvm/tools/llvm-pdbutil/InputFile.cpp
  llvm/tools/llvm-pdbutil/InputFile.h
  llvm/tools/llvm-pdbutil/LinePrinter.cpp
  llvm/tools/llvm-pdbutil/LinePrinter.h
  llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
  llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyBuiltinDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyClassLayoutGraphicalDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyCompilandDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyEnumDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyExternalSymbolDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyFunctionDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyTypedefDumper.cpp
  llvm/tools/llvm-pdbutil/PrettyVariableDumper.cpp
  llvm/tools/llvm-pdbutil/StreamUtil.cpp
  llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp
  llvm/tools/llvm-pdbutil/TypeReferenceTracker.h
  llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
  llvm/tools/llvm-pdbutil/llvm-pdbutil.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122226.417242.patch
Type: text/x-patch
Size: 39711 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220322/4d04589c/attachment.bin>


More information about the llvm-commits mailing list