Rizin
unix-like reverse engineering framework and cli tools
|
#include "capstone/platform.h"
Go to the source code of this file.
Classes | |
struct | MCOperandInfo |
struct | MCInstrDesc |
Typedefs | |
typedef struct MCOperandInfo | MCOperandInfo |
typedef struct MCInstrDesc | MCInstrDesc |
Enumerations | |
enum | MCOI_OperandConstraint { MCOI_TIED_TO = 0 , MCOI_EARLY_CLOBBER } |
enum | MCOI_OperandFlags { MCOI_LookupPtrRegClass = 0 , MCOI_Predicate , MCOI_OptionalDef } |
enum | MCOI_OperandType { MCOI_OPERAND_UNKNOWN , MCOI_OPERAND_IMMEDIATE , MCOI_OPERAND_REGISTER , MCOI_OPERAND_MEMORY , MCOI_OPERAND_PCREL } |
Operand Type - Operands are tagged with one of the values of this enum. More... | |
enum | { MCID_Variadic = 0 , MCID_HasOptionalDef , MCID_Pseudo , MCID_Return , MCID_Call , MCID_Barrier , MCID_Terminator , MCID_Branch , MCID_IndirectBranch , MCID_Compare , MCID_MoveImm , MCID_Bitcast , MCID_Select , MCID_DelaySlot , MCID_FoldableAsLoad , MCID_MayLoad , MCID_MayStore , MCID_Predicable , MCID_NotDuplicable , MCID_UnmodeledSideEffects , MCID_Commutable , MCID_ConvertibleTo3Addr , MCID_UsesCustomInserter , MCID_HasPostISelHook , MCID_Rematerializable , MCID_CheapAsAMove , MCID_ExtraSrcRegAllocReq , MCID_ExtraDefRegAllocReq , MCID_RegSequence , MCID_ExtractSubreg , MCID_InsertSubreg } |
Functions | |
bool | MCOperandInfo_isPredicate (const MCOperandInfo *m) |
bool | MCOperandInfo_isOptionalDef (const MCOperandInfo *m) |
typedef struct MCInstrDesc MCInstrDesc |
MCInstrDesc - Describe properties that are true of each instruction in the target description file. This captures information about side effects, register use and many other things. There is one instance of this struct for each target instruction class, and the MachineInstr class points to this struct directly to describe itself.
typedef struct MCOperandInfo MCOperandInfo |
MCOperandInfo - This holds information about one operand of a machine instruction, indicating the register class for register operands, etc.
anonymous enum |
MCInstrDesc flags - These should be considered private to the implementation of the MCInstrDesc class. Clients should use the predicate methods on MCInstrDesc, not use these directly. These all correspond to bitfields in the MCInstrDesc::Flags field.
Definition at line 83 of file MCInstrDesc.h.
enum MCOI_OperandFlags |
OperandFlags - These are flags set on operands, but should be considered private, all access should go through the MCOperandInfo accessors. See the accessors for a description of what these are.
Enumerator | |
---|---|
MCOI_LookupPtrRegClass | |
MCOI_Predicate | |
MCOI_OptionalDef |
Definition at line 36 of file MCInstrDesc.h.
enum MCOI_OperandType |
Operand Type - Operands are tagged with one of the values of this enum.
Enumerator | |
---|---|
MCOI_OPERAND_UNKNOWN | |
MCOI_OPERAND_IMMEDIATE | |
MCOI_OPERAND_REGISTER | |
MCOI_OPERAND_MEMORY | |
MCOI_OPERAND_PCREL |
Definition at line 43 of file MCInstrDesc.h.
bool MCOperandInfo_isOptionalDef | ( | const MCOperandInfo * | m | ) |
isOptionalDef - Set if this operand is a optional def.
Definition at line 15 of file MCInstrDesc.c.
References regress::m, and MCOI_OptionalDef.
bool MCOperandInfo_isPredicate | ( | const MCOperandInfo * | m | ) |
isPredicate - Set if this is one of the operands that made up of the predicate operand that controls an isPredicable() instruction.
Definition at line 8 of file MCInstrDesc.c.
References regress::m, and MCOI_Predicate.