diff options
author | Ronak Chauhan <RonakNilesh.Chauhan@amd.com> | 2020-08-19 13:07:40 +0530 |
---|---|---|
committer | Ronak Chauhan <RonakNilesh.Chauhan@amd.com> | 2020-08-19 13:12:29 +0530 |
commit | fdf71d486c0f85dadea2b5e97b88d4a67e2be34c (patch) | |
tree | 362b29e0894c16f3d93c0285e730600cdea84ba2 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | cb6cf18ff5e0e5bb751e10549accc0f035f697ac (diff) | |
download | llvm-fdf71d486c0f85dadea2b5e97b88d4a67e2be34c.zip llvm-fdf71d486c0f85dadea2b5e97b88d4a67e2be34c.tar.gz llvm-fdf71d486c0f85dadea2b5e97b88d4a67e2be34c.tar.bz2 |
Revert "[AMDGPU] Support disassembly for AMDGPU kernel descriptors"
This reverts commit cacfb02d28a3cabd4e45d2535cb0686cef48a2c9.
Reverting due to buildbot failures.
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
-rw-r--r-- | llvm/tools/llvm-objdump/llvm-objdump.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index acc0591..6b3ecd9 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -1849,6 +1849,23 @@ static void disassembleObject(const Target *TheTarget, const ObjectFile *Obj, outs() << SectionName << ":\n"; } + if (Obj->isELF() && Obj->getArch() == Triple::amdgcn) { + if (Symbols[SI].Type == ELF::STT_AMDGPU_HSA_KERNEL) { + // skip amd_kernel_code_t at the begining of kernel symbol (256 bytes) + Start += 256; + } + if (SI == SE - 1 || + Symbols[SI + 1].Type == ELF::STT_AMDGPU_HSA_KERNEL) { + // cut trailing zeroes at the end of kernel + // cut up to 256 bytes + const uint64_t EndAlign = 256; + const auto Limit = End - (std::min)(EndAlign, End - Start); + while (End > Limit && + *reinterpret_cast<const support::ulittle32_t*>(&Bytes[End - 4]) == 0) + End -= 4; + } + } + outs() << '\n'; if (!NoLeadingAddr) outs() << format(Is64Bits ? "%016" PRIx64 " " : "%08" PRIx64 " ", |