Classes | Typedefs | Enumerations | Functions
MCInstrDesc.h File Reference
#include "capstone/platform.h"
Include dependency graph for MCInstrDesc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MCInstrDesc
 
struct  MCOperandInfo
 

Typedefs

typedef struct MCInstrDesc MCInstrDesc
 
typedef struct MCOperandInfo MCOperandInfo
 

Enumerations

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
}
 
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...
 

Functions

bool MCOperandInfo_isOptionalDef (const MCOperandInfo *m)
 
bool MCOperandInfo_isPredicate (const MCOperandInfo *m)
 

Typedef Documentation

◆ MCInstrDesc

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.

◆ MCOperandInfo

typedef struct MCOperandInfo MCOperandInfo

MCOperandInfo - This holds information about one operand of a machine instruction, indicating the register class for register operands, etc.

Enumeration Type Documentation

◆ anonymous enum

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.

Enumerator
MCID_Variadic 
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 

Definition at line 83 of file MCInstrDesc.h.

◆ MCOI_OperandConstraint

Enumerator
MCOI_TIED_TO 
MCOI_EARLY_CLOBBER 

Definition at line 28 of file MCInstrDesc.h.

◆ 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.

◆ 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.

Function Documentation

◆ MCOperandInfo_isOptionalDef()

bool MCOperandInfo_isOptionalDef ( const MCOperandInfo m)

isOptionalDef - Set if this operand is a optional def.

Definition at line 15 of file MCInstrDesc.c.

◆ MCOperandInfo_isPredicate()

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.



grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:23