[llvm] r198284 - Remove modifierType/Base from X86 disassembler tables as they are no longer used. Removes ~11.5K from static tables.

Craig Topper craig.topper at gmail.com
Wed Jan 1 13:52:57 PST 2014


Author: ctopper
Date: Wed Jan  1 15:52:57 2014
New Revision: 198284

URL: http://llvm.org/viewvc/llvm-project?rev=198284&view=rev
Log:
Remove modifierType/Base from X86 disassembler tables as they are no longer used. Removes ~11.5K from static tables.

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

Modified: llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h?rev=198284&r1=198283&r2=198284&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h (original)
+++ llvm/trunk/lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h Wed Jan  1 15:52:57 2014
@@ -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
 };

Modified: llvm/trunk/utils/TableGen/X86DisassemblerShared.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86DisassemblerShared.h?rev=198284&r1=198283&r2=198284&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/X86DisassemblerShared.h (original)
+++ llvm/trunk/utils/TableGen/X86DisassemblerShared.h Wed Jan  1 15:52:57 2014
@@ -23,8 +23,6 @@
     filtered = false;                      \
     insnContext = IC;                      \
     name = "";                             \
-    modifierType = MODIFIER_NONE;          \
-    modifierBase = 0;                      \
     memset(operands, 0, sizeof(operands)); \
   }
 

Modified: llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp?rev=198284&r1=198283&r2=198284&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp (original)
+++ llvm/trunk/utils/TableGen/X86DisassemblerTables.cpp Wed Jan  1 15:52:57 2014
@@ -362,22 +362,6 @@ static const char* stringForDecisionType
 #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::emitInstruction
     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) {

Modified: llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=198284&r1=198283&r2=198284&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp (original)
+++ llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp Wed Jan  1 15:52:57 2014
@@ -1182,8 +1182,6 @@ void RecognizableInstr::emitDecodePath(D
                           *filter,
                           UID, Is32Bit, IgnoresVEX_L);
   }
-  Spec->modifierType = MODIFIER_NONE;
-  Spec->modifierBase = opcodeToSet;
 
   delete filter;
 





More information about the llvm-commits mailing list