[PATCH] D130358: [llvm-objdump,ARM] Add PrettyPrinters for Arm and AArch64.
Simon Tatham via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 22 07:18:00 PDT 2022
simon_tatham created this revision.
simon_tatham added reviewers: MaskRay, ostannard, DavidSpickett.
Herald added subscribers: StephenFan, rupprecht, kristof.beyls, emaste.
Herald added a reviewer: jhenderson.
Herald added a project: All.
simon_tatham requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Most Arm disassemblers, including GNU objdump and Arm's own `fromelf`,
emit an instruction's raw encoding as a 32-bit words or (for Thumb)
one or two 16-bit halfwords, in logical order rather than according to
their storage endianness. This is generally easier to read: it matches
the encoding diagrams in the architecture spec, it matches the value
you'd write in a `.inst` directive, and it means that fields within
the instruction encoding that span more than one byte (such as branch
offsets or `SVC` immediates) can be read directly in the encoding
without having to mentally reverse the bytes.
llvm-objdump already has a system of PrettyPrinter subclasses which
makes it easy for a target to drop in its own preferred formatting.
This patch adds pretty-printers for all the Arm targets, so that
llvm-objdump will display Arm instruction encodings in their preferred
layout instead of little-endian and bytewise.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D130358
Files:
llvm/test/tools/llvm-objdump/ELF/AArch64/disassemble-align.s
llvm/test/tools/llvm-objdump/ELF/AArch64/elf-aarch64-mapping-symbols.test
llvm/test/tools/llvm-objdump/ELF/ARM/debug-vars-dwarf4.s
llvm/test/tools/llvm-objdump/ELF/ARM/debug-vars-wide-chars.s
llvm/test/tools/llvm-objdump/ELF/ARM/invalid-instruction.s
llvm/test/tools/llvm-objdump/ELF/ARM/unknown-instr-resync.test
llvm/test/tools/llvm-objdump/ELF/ARM/unknown-instr.test
llvm/test/tools/llvm-objdump/ELF/ARM/v5t-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v5te-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v5tej-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v6-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v6-subfeatures.s
llvm/test/tools/llvm-objdump/ELF/ARM/v6k-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v6m-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v6t2-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v7a-subfeature.s
llvm/test/tools/llvm-objdump/ELF/ARM/v7m-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v7m-subfeatures.s
llvm/test/tools/llvm-objdump/ELF/ARM/v7r-subfeatures.s
llvm/test/tools/llvm-objdump/ELF/ARM/v8a-subarch.s
llvm/test/tools/llvm-objdump/ELF/ARM/v8r-subarch.s
llvm/test/tools/llvm-objdump/MachO/AArch64/pc-rel-targets.test
llvm/tools/llvm-objdump/llvm-objdump.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130358.446824.patch
Type: text/x-patch
Size: 21298 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220722/c6e29354/attachment.bin>
More information about the llvm-commits
mailing list