[PATCH] D155045: [llvm-objdump] Create ObjectFile specific dumpers

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 11 23:30:43 PDT 2023


MaskRay created this revision.
MaskRay added reviewers: DiggerLin, jhenderson, mstorsjo, mtrofin, JestrTulip.
Herald added subscribers: pmatos, asb, sbc100.
Herald added a project: All.
MaskRay requested review of this revision.
Herald added subscribers: llvm-commits, aheejin.
Herald added a project: LLVM.

We pay the one-off boilerplate overhead to create `*Dumper` classes that derive
from objdump::Dumper. This has two primary advantages.

First, a lot object file format specific code can be moved from
llvm-objdump.cpp to *Dump.cpp files. Refactor `printPrivateHeaders` as
an example.

Second, with the introduction of ELFDumper<ELFT>, we can simplify
a few dispatch functions in ELFDump.cpp.

In addition, the ObjectFile specific dumpers contains a ObjectFile specific
reference so that we can remove a lot of `cast<*ObjectFile>(Obj)`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D155045

Files:
  llvm/tools/llvm-objdump/COFFDump.cpp
  llvm/tools/llvm-objdump/ELFDump.cpp
  llvm/tools/llvm-objdump/ELFDump.h
  llvm/tools/llvm-objdump/MachODump.cpp
  llvm/tools/llvm-objdump/WasmDump.cpp
  llvm/tools/llvm-objdump/XCOFFDump.cpp
  llvm/tools/llvm-objdump/llvm-objdump.cpp
  llvm/tools/llvm-objdump/llvm-objdump.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155045.539401.patch
Type: text/x-patch
Size: 15139 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230712/c3ca3fb3/attachment.bin>


More information about the llvm-commits mailing list