Add all the registers that are currently used by
LLPC: https://github.com/GPUOpen-Drivers/llpc
This only affects disassembly of PAL metadata generated by LLPC and
similar frontends.
Paths
| Differential D95619
[AMDGPU] Add more PAL metadata register names ClosedPublic Authored by foad on Jan 28 2021, 7:44 AM.
Details Summary Add all the registers that are currently used by This only affects disassembly of PAL metadata generated by LLPC and
Diff Detail
Unit TestsFailed Event TimelineHerald added subscribers: kerbowa, hiraditya, t-tye and 6 others. · View Herald TranscriptJan 28 2021, 7:44 AM Comment Actions I couldn't work out what order the existing entries were in, so I added the new ones in alphabetical order at the end. I couldn't find any existing test cases for these names. foad added a parent revision: D95684: [AMDGPU] Test all register names known to AMDGPUPALMetadata.Jan 29 2021, 8:07 AM Comment Actions We have slight problems when it comes to differences between hardware versions. Comment Actions
Luckily LLPC only uses COMPUTE_USER_ACCUM_1 on gfx10+.
I had not noticed that. Comment Actions
Ping! Do you think it's OK to commit despite these concerns? Comment Actions If these registers keep changing, we probably want to switch between architectures at some point. But it’s easier to look at (slightly off) names than at hex numbers, so LGTM. This revision is now accepted and ready to land.Feb 24 2021, 5:30 AM This revision was landed with ongoing or failed builds.Feb 24 2021, 5:37 AM Closed by commit rGaab709f090f5: [AMDGPU] Add more PAL metadata register names (authored by foad). · Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions I am not familiar with graphics side much, but is there any reason to not use COMPUTE_PGM_RSRC* registers from https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/AMDHSAKernelDescriptor.h#L130 ? Comment Actions
For dumping PAL metadata all we want is the offsets of the registers. AMDHSAKernelDescriptor.h seems to define the fields within some of these registers instead. Obviously it's related, but I don't think there's actually any duplicated information there.
Revision Contents
Diff 320136 llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
llvm/test/MC/AMDGPU/pal-registers.s
|