| //===- X86DisassemblerShared.h - Emitter shared header ----------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef X86DISASSEMBLERSHARED_H |
| #define X86DISASSEMBLERSHARED_H |
| |
| #include <string.h> |
| #include <string> |
| |
| #define INSTRUCTION_IDS \ |
| InstrUID instructionIDs[256]; |
| |
| #include "../../lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h" |
| |
| #undef INSTRUCTION_SPECIFIER_FIELDS |
| #undef INSTRUCTION_IDS |
| |
| struct InstructionSpecifier { |
| llvm::X86Disassembler::OperandSpecifier operands[X86_MAX_OPERANDS]; |
| llvm::X86Disassembler::InstructionContext insnContext; |
| std::string name; |
| |
| InstructionSpecifier() { |
| insnContext = llvm::X86Disassembler::IC; |
| name = ""; |
| memset(operands, 0, sizeof(operands)); |
| } |
| }; |
| |
| #endif |