diff options
Diffstat (limited to 'utils/TableGen/X86RecognizableInstr.cpp')
| -rw-r--r-- | utils/TableGen/X86RecognizableInstr.cpp | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/utils/TableGen/X86RecognizableInstr.cpp b/utils/TableGen/X86RecognizableInstr.cpp index b15db2fab0ba..b7085ae6c7b7 100644 --- a/utils/TableGen/X86RecognizableInstr.cpp +++ b/utils/TableGen/X86RecognizableInstr.cpp @@ -230,6 +230,10 @@ void RecognizableInstr::processInstr(DisassemblerTables &tables,                                     const CodeGenInstruction &insn,                                     InstrUID uid)  { +  // Ignore "asm parser only" instructions. +  if (insn.TheDef->getValueAsBit("isAsmParserOnly")) +    return; +      RecognizableInstr recogInstr(tables, insn, uid);    recogInstr.emitInstructionSpecifier(tables); @@ -835,8 +839,7 @@ OperandType RecognizableInstr::typeFromString(const std::string &s,    TYPE("opaque512mem",        TYPE_M512)    TYPE("SEGMENT_REG",         TYPE_SEGMENTREG)    TYPE("DEBUG_REG",           TYPE_DEBUGREG) -  TYPE("CONTROL_REG_32",      TYPE_CR32) -  TYPE("CONTROL_REG_64",      TYPE_CR64) +  TYPE("CONTROL_REG",         TYPE_CONTROLREG)    TYPE("offset8",             TYPE_MOFFS8)    TYPE("offset16",            TYPE_MOFFS16)    TYPE("offset32",            TYPE_MOFFS32) @@ -895,8 +898,7 @@ OperandEncoding RecognizableInstr::roRegisterEncodingFromString    ENCODING("VR64",            ENCODING_REG)    ENCODING("SEGMENT_REG",     ENCODING_REG)    ENCODING("DEBUG_REG",       ENCODING_REG) -  ENCODING("CONTROL_REG_32",  ENCODING_REG) -  ENCODING("CONTROL_REG_64",  ENCODING_REG) +  ENCODING("CONTROL_REG",     ENCODING_REG)    errs() << "Unhandled reg/opcode register encoding " << s << "\n";    llvm_unreachable("Unhandled reg/opcode register encoding");  }  | 
