aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorRonak Chauhan <RonakNilesh.Chauhan@amd.com>2020-08-19 13:07:40 +0530
committerRonak Chauhan <RonakNilesh.Chauhan@amd.com>2020-08-19 13:12:29 +0530
commitfdf71d486c0f85dadea2b5e97b88d4a67e2be34c (patch)
tree362b29e0894c16f3d93c0285e730600cdea84ba2 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parentcb6cf18ff5e0e5bb751e10549accc0f035f697ac (diff)
downloadllvm-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.cpp17
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 " ",