[PATCH] D80512: [MC] Changes to help improve target specific symbol disassembly
Ronak Chauhan via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 25 03:10:43 PDT 2020
rochauha created this revision.
rochauha added reviewers: scott.linder, t-tye, sunfish, arsenm.
Herald added subscribers: llvm-commits, rupprecht, MaskRay, aheejin, hiraditya, jgravelle-google, sbc100, tpr, wdng, dschuff.
Herald added a reviewer: jhenderson.
Herald added a reviewer: MaskRay.
Herald added a project: LLVM.
rochauha edited the summary of this revision.
This commit slightly modifies the MCDisassembler, and llvm-objdump to allow targets to also decode entire symbols.
WebAssembly uses the onSymbolStart hook it to decode preludes. WebAssembly partially
disassembles the symbol in its target specific way; and then falls back to the normal
flow of llvm-objdump.
AMDGPU needs it to decode kernel descriptors entirely, and move to the next symbol.
This commit is to split the above task into 2.
- Changes to llvm-objdump and MC-layer without breaking WebAssembly code [ this commit ]
- AMDGPU's implementation of onSymbolStart that decodes kernel descriptors. [ will make a review for this soon ]
PS:
The last 6 bytes of AMDGPU kernel descriptor are reserved and hence 0.
Right now 4 bytes of it are trimmed in llvm-objdump, which makes the kernel descriptor invalid.
I have commented out those AMDGPU specific parts in this commit.
The nop-data.ll test failure in AMDGPU tests is because of this.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D80512
Files:
llvm/include/llvm/MC/MCDisassembler/MCDisassembler.h
llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
llvm/tools/llvm-objdump/llvm-objdump.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80512.265986.patch
Type: text/x-patch
Size: 11301 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200525/fb7896ac/attachment-0001.bin>
More information about the llvm-commits
mailing list