From e760e85680d6ade8934118d0854637b213a21f1a Mon Sep 17 00:00:00 2001 From: Ronak Chauhan Date: Fri, 24 Jul 2020 15:21:46 +0530 Subject: [llvm-objdump][AMDGPU] Detect CPU string AMDGPU ISA isn't backwards compatible and hence -mcpu must always be specified during disassembly. However, the AMDGPU target CPU is stored in e_flags in the ELF object. This patch allows targets to implement CPU string detection, and also implements it for AMDGPU by looking at e_flags. Reviewed By: scott.linder Differential Revision: https://reviews.llvm.org/D84519 --- llvm/tools/llvm-objdump/llvm-objdump.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp') diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index ecdd227..6b3ecd9 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -2170,6 +2170,10 @@ static void disassembleObject(const ObjectFile *Obj, bool InlineRelocs) { if (!AsmInfo) reportError(Obj->getFileName(), "no assembly info for target " + TripleName); + + if (MCPU.empty()) + MCPU = Obj->tryGetCPUName().getValueOr("").str(); + std::unique_ptr STI( TheTarget->createMCSubtargetInfo(TripleName, MCPU, Features.getString())); if (!STI) -- cgit v1.1