[PATCH] D126101: [MCDisassembler] Fix MCSymbolizer::tryAddingSymbolicOperand() interface
Maksim Panchenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 20 16:13:10 PDT 2022
maksfb created this revision.
maksfb added reviewers: skan, yota9, Amir, ayermolo, rafauler, zr33.
Herald added subscribers: kosarev, jsilvanus, hsmhsm, foad, kerbowa, pengfei, rupprecht, jrtc27, fedor.sergeev, hiraditya, mgorny, nhaehnle, jvesely, jyknight, arsenm.
Herald added a reviewer: deadalnix.
Herald added a reviewer: jhenderson.
Herald added a reviewer: MaskRay.
Herald added a project: All.
maksfb requested review of this revision.
Herald added subscribers: llvm-commits, StephenFan.
Herald added a project: LLVM.
MCSymbolizer::tryAddingSymbolicOperand() overloaded the Size parameter
to specify either the instruction size or the operand size depending on
the architecture. However, for proper symbolic disassembly on X86 we
need to know both sizes. Hence, split Size into OpSize and InstSize.
For X86, the new interface allows to fix a couple of issues:
- Correctly adjust the value of PC-relative operands.
- Set operand size to zero when the operand is specified implicitly.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D126101
Files:
llvm/include/llvm-c/DisassemblerTypes.h
llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
llvm/include/llvm/MC/MCDisassembler/MCExternalSymbolizer.h
llvm/include/llvm/MC/MCDisassembler/MCSymbolizer.h
llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
llvm/lib/MC/MCDisassembler/MCExternalSymbolizer.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.h
llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
llvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp
llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
llvm/tools/llvm-objdump/MachODump.cpp
llvm/unittests/MC/X86/CMakeLists.txt
llvm/unittests/MC/X86/X86MCDisassemblerTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126101.431089.patch
Type: text/x-patch
Size: 28846 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220520/4dd73c0c/attachment.bin>
More information about the llvm-commits
mailing list