Home | History | Annotate | Download | only in TableGen
      1 //===- X86DisassemblerShared.h - Emitter shared header ----------*- C++ -*-===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 #ifndef X86DISASSEMBLERSHARED_H
     11 #define X86DISASSEMBLERSHARED_H
     12 
     13 #include <string.h>
     14 #include <string>
     15 
     16 #define INSTRUCTION_SPECIFIER_FIELDS       \
     17   struct OperandSpecifier operands[X86_MAX_OPERANDS]; \
     18   bool                    filtered;        \
     19   InstructionContext      insnContext;     \
     20   std::string             name;            \
     21                                            \
     22   InstructionSpecifier() {                 \
     23     filtered = false;                      \
     24     insnContext = IC;                      \
     25     name = "";                             \
     26     modifierType = MODIFIER_NONE;          \
     27     modifierBase = 0;                      \
     28     memset(operands, 0, sizeof(operands)); \
     29   }
     30 
     31 #define INSTRUCTION_IDS           \
     32   InstrUID   instructionIDs[256];
     33 
     34 #include "../../lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h"
     35 
     36 #undef INSTRUCTION_SPECIFIER_FIELDS
     37 #undef INSTRUCTION_IDS
     38 
     39 #endif
     40