//===-- EDInfo.h - LLVM Enhanced Disassembler -------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLVM_EDINFO_H #define LLVM_EDINFO_H enum { EDIS_MAX_OPERANDS = 13, EDIS_MAX_SYNTAXES = 2 }; enum OperandTypes { kOperandTypeNone, kOperandTypeImmediate, kOperandTypeRegister, kOperandTypeX86Memory, kOperandTypeX86EffectiveAddress, kOperandTypeX86PCRelative, kOperandTypeARMBranchTarget, kOperandTypeARMSoReg, kOperandTypeARMSoImm, kOperandTypeARMRotImm, kOperandTypeARMSoImm2Part, kOperandTypeARMPredicate, kOperandTypeAddrModeImm12, kOperandTypeLdStSOReg, kOperandTypeARMAddrMode2, kOperandTypeARMAddrMode2Offset, kOperandTypeARMAddrMode3, kOperandTypeARMAddrMode3Offset, kOperandTypeARMAddrMode4, kOperandTypeARMAddrMode5, kOperandTypeARMAddrMode6, kOperandTypeARMAddrMode6Offset, kOperandTypeARMAddrMode7, kOperandTypeARMAddrModePC, kOperandTypeARMRegisterList, kOperandTypeARMDPRRegisterList, kOperandTypeARMSPRRegisterList, kOperandTypeARMTBAddrMode, kOperandTypeThumbITMask, kOperandTypeThumbAddrModeRegS1, kOperandTypeThumbAddrModeRegS2, kOperandTypeThumbAddrModeRegS4, kOperandTypeThumbAddrModeImmS1, kOperandTypeThumbAddrModeImmS2, kOperandTypeThumbAddrModeImmS4, kOperandTypeThumbAddrModeRR, kOperandTypeThumbAddrModeSP, kOperandTypeThumbAddrModePC, kOperandTypeThumb2AddrModeReg, kOperandTypeThumb2SoReg, kOperandTypeThumb2SoImm, kOperandTypeThumb2AddrModeImm8, kOperandTypeThumb2AddrModeImm8Offset, kOperandTypeThumb2AddrModeImm12, kOperandTypeThumb2AddrModeSoReg, kOperandTypeThumb2AddrModeImm8s4, kOperandTypeThumb2AddrModeImm8s4Offset }; enum OperandFlags { kOperandFlagSource = 0x1, kOperandFlagTarget = 0x2 }; enum InstructionTypes { kInstructionTypeNone, kInstructionTypeMove, kInstructionTypeBranch, kInstructionTypePush, kInstructionTypePop, kInstructionTypeCall, kInstructionTypeReturn }; #endif