Remove modifierType/Base from X86 disassembler tables as they are no longer used...
authorCraig Topper <craig.topper@gmail.com>
Wed, 1 Jan 2014 21:52:57 +0000 (21:52 +0000)
committerCraig Topper <craig.topper@gmail.com>
Wed, 1 Jan 2014 21:52:57 +0000 (21:52 +0000)
llvm-svn: 198284

llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
llvm/utils/TableGen/X86DisassemblerShared.h
llvm/utils/TableGen/X86DisassemblerTables.cpp
llvm/utils/TableGen/X86RecognizableInstr.cpp

index 8ecda65..1acaef1 100644 (file)
@@ -541,9 +541,6 @@ typedef enum {
  * its operands.
  */
 struct InstructionSpecifier {
-  uint8_t modifierType;
-  uint8_t modifierBase;
-
   /* The macro below must be defined wherever this file is included. */
   INSTRUCTION_SPECIFIER_FIELDS
 };
index 3ff922b..6bcb783 100644 (file)
@@ -23,8 +23,6 @@
     filtered = false;                      \
     insnContext = IC;                      \
     name = "";                             \
-    modifierType = MODIFIER_NONE;          \
-    modifierBase = 0;                      \
     memset(operands, 0, sizeof(operands)); \
   }
 
index 02f78f1..6ef924a 100644 (file)
@@ -362,22 +362,6 @@ static const char* stringForDecisionType(ModRMDecisionType dt) {
 #undef ENUM_ENTRY
 }
 
-/// stringForModifierType - Returns a statically-allocated string corresponding
-///   to an opcode modifier type.
-///
-/// @param mt - The modifier type.
-/// @return   - A pointer to the statically-allocated string (e.g.,
-///             "MODIFIER_NONE" for MODIFIER_NONE).
-static const char* stringForModifierType(ModifierType mt) {
-#define ENUM_ENTRY(n) case n: return #n;
-  switch(mt) {
-    default:
-      llvm_unreachable("Unknown modifier type");
-    MODIFIER_TYPES
-  };
-#undef ENUM_ENTRY
-}
-
 DisassemblerTables::DisassemblerTables() {
   unsigned i;
 
@@ -603,14 +587,6 @@ void DisassemblerTables::emitInstructionInfo(raw_ostream &o,
     o.indent(i * 2) << "{ /* " << index << " */" << "\n";
     i++;
 
-    o.indent(i * 2) << stringForModifierType(
-                       (ModifierType)InstructionSpecifiers[index].modifierType);
-    o << ",\n";
-
-    o.indent(i * 2) << "0x";
-    o << format("%02hhx", (uint16_t)InstructionSpecifiers[index].modifierBase);
-    o << ",\n";
-
     OperandListTy OperandList;
     for (unsigned OperandIndex = 0; OperandIndex < X86_MAX_OPERANDS;
          ++OperandIndex) {
index 4016116..15212d3 100644 (file)
@@ -1182,8 +1182,6 @@ void RecognizableInstr::emitDecodePath(DisassemblerTables &tables) const {
                           *filter,
                           UID, Is32Bit, IgnoresVEX_L);
   }
-  Spec->modifierType = MODIFIER_NONE;
-  Spec->modifierBase = opcodeToSet;
 
   delete filter;