[llvm] r361406 - AMDGPU: Move disassembler support check to constructor

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed May 22 09:28:48 PDT 2019


Author: arsenm
Date: Wed May 22 09:28:48 2019
New Revision: 361406

URL: http://llvm.org/viewvc/llvm-project?rev=361406&view=rev
Log:
AMDGPU: Move disassembler support check to constructor

Don't check for unsupported targets for every instruction.

Modified:
    llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp

Modified: llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp?rev=361406&r1=361405&r2=361406&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp Wed May 22 09:28:48 2019
@@ -61,7 +61,12 @@ AMDGPUDisassembler::AMDGPUDisassembler(c
                                        MCContext &Ctx,
                                        MCInstrInfo const *MCII) :
   MCDisassembler(STI, Ctx), MCII(MCII), MRI(*Ctx.getRegisterInfo()),
-  TargetMaxInstBytes(Ctx.getAsmInfo()->getMaxInstLength(&STI)) {}
+  TargetMaxInstBytes(Ctx.getAsmInfo()->getMaxInstLength(&STI)) {
+
+  // ToDo: AMDGPUDisassembler supports only VI ISA.
+  if (!STI.getFeatureBits()[AMDGPU::FeatureGCN3Encoding] && !isGFX10())
+    report_fatal_error("Disassembly not yet supported for subtarget");
+}
 
 inline static MCDisassembler::DecodeStatus
 addOperand(MCInst &Inst, const MCOperand& Opnd) {
@@ -189,10 +194,6 @@ DecodeStatus AMDGPUDisassembler::getInst
   CommentStream = &CS;
   bool IsSDWA = false;
 
-  // ToDo: AMDGPUDisassembler supports only VI ISA.
-  if (!STI.getFeatureBits()[AMDGPU::FeatureGCN3Encoding] && !isGFX10())
-    report_fatal_error("Disassembly not yet supported for subtarget");
-
   unsigned MaxInstBytesNum = std::min((size_t)TargetMaxInstBytes, Bytes_.size());
   Bytes = Bytes_.slice(0, MaxInstBytesNum);
 




More information about the llvm-commits mailing list