| //===-- 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 |