Revert "[AMDGPU] llvm-objdump: Minimal HSA Code Object disassembler support."

This reverts commit r265550. There're problems with endianness on dumping instruction bytes. Need to find out how to use support::ulittle32_t type properly.

llvm-svn: 265554
This commit is contained in:
Valery Pykhtin
2016-04-06 16:30:21 +00:00
parent 89c33caee3
commit 1dcb91b4de
2 changed files with 0 additions and 116 deletions

View File

@@ -384,41 +384,12 @@ public:
}
};
HexagonPrettyPrinter HexagonPrettyPrinterInst;
class AMDGCNPrettyPrinter : public PrettyPrinter {
public:
void printInst(MCInstPrinter &IP,
const MCInst *MI,
ArrayRef<uint8_t> Bytes,
uint64_t Address,
raw_ostream &OS,
StringRef Annot,
MCSubtargetInfo const &STI) override {
SmallString<40> InstStr;
raw_svector_ostream IS(InstStr);
IP.printInst(MI, IS, "", STI);
OS << left_justify(IS.str(), 60) << format("// %012X: ", Address);
typedef support::ulittle32_t U32;
for (auto D : makeArrayRef(reinterpret_cast<const U32*>(Bytes.data()),
Bytes.size() / sizeof(U32)))
OS << format("%08X ", D);
if (!Annot.empty())
OS << "// " << Annot;
}
};
AMDGCNPrettyPrinter AMDGCNPrettyPrinterInst;
PrettyPrinter &selectPrettyPrinter(Triple const &Triple) {
switch(Triple.getArch()) {
default:
return PrettyPrinterInst;
case Triple::hexagon:
return HexagonPrettyPrinterInst;
case Triple::amdgcn:
return AMDGCNPrettyPrinterInst;
}
}
}
@@ -1075,18 +1046,6 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
if (Start >= End)
continue;
if (Obj->isELF() && Obj->getArch() == Triple::amdgcn) {
// make size 4 bytes folded
End = Start + ((End - Start) & ~0x3ull);
Start += 256; // add sizeof(amd_kernel_code_t)
// cut trailing zeroes - up to 256 bytes (align)
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' << Symbols[si].second << ":\n";
#ifndef NDEBUG