LLVM  8.0.1
Public Member Functions | Public Attributes | List of all members
llvm::MCOperandInfo Class Reference

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

#include "llvm/MC/MCInstrDesc.h"

Collaboration diagram for llvm::MCOperandInfo:
Collaboration graph
[legend]

Public Member Functions

bool isLookupPtrRegClass () const
 Set if this operand is a pointer value and it requires a callback to look up its register class. More...
 
bool isPredicate () const
 Set if this is one of the operands that made up of the predicate operand that controls an isPredicable() instruction. More...
 
bool isOptionalDef () const
 Set if this operand is a optional def. More...
 
bool isGenericType () const
 
unsigned getGenericTypeIndex () const
 

Public Attributes

int16_t RegClass
 This specifies the register class enumeration of the operand if the operand is a register. More...
 
uint8_t Flags
 These are flags from the MCOI::OperandFlags enum. More...
 
uint8_t OperandType
 Information about the type of the operand. More...
 
uint32_t Constraints
 The lower 16 bits are used to specify which constraints are set. More...
 

Detailed Description

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

Definition at line 67 of file MCInstrDesc.h.

Member Function Documentation

◆ getGenericTypeIndex()

unsigned llvm::MCOperandInfo::getGenericTypeIndex ( ) const
inline

Definition at line 103 of file MCInstrDesc.h.

References assert(), and llvm::MCOI::OPERAND_FIRST_GENERIC.

Referenced by llvm::LegalizerInfo::getAction(), and matchPair().

◆ isGenericType()

bool llvm::MCOperandInfo::isGenericType ( ) const
inline

◆ isLookupPtrRegClass()

bool llvm::MCOperandInfo::isLookupPtrRegClass ( ) const
inline

Set if this operand is a pointer value and it requires a callback to look up its register class.

Definition at line 87 of file MCInstrDesc.h.

References llvm::MCOI::LookupPtrRegClass.

Referenced by llvm::TargetInstrInfo::getRegClass().

◆ isOptionalDef()

bool llvm::MCOperandInfo::isOptionalDef ( ) const
inline

Set if this operand is a optional def.

Definition at line 96 of file MCInstrDesc.h.

References llvm::MCOI::OptionalDef.

Referenced by llvm::TargetSchedModel::computeOperandLatency(), getRealVLDOpcode(), matchPair(), and VerifyLowRegs().

◆ isPredicate()

bool llvm::MCOperandInfo::isPredicate ( ) const
inline

Set if this is one of the operands that made up of the predicate operand that controls an isPredicable() instruction.

Definition at line 93 of file MCInstrDesc.h.

References llvm::MCOI::Predicate.

Referenced by llvm::MachineInstr::findFirstPredOperandIdx(), and VerifyLowRegs().

Member Data Documentation

◆ Constraints

uint32_t llvm::MCOperandInfo::Constraints

The lower 16 bits are used to specify which constraints are set.

The higher 16 bits are used to specify the value of constraints (4 bits each).

Definition at line 83 of file MCInstrDesc.h.

Referenced by llvm::MCInstrDesc::getOperandConstraint().

◆ Flags

uint8_t llvm::MCOperandInfo::Flags

These are flags from the MCOI::OperandFlags enum.

Definition at line 76 of file MCInstrDesc.h.

◆ OperandType

uint8_t llvm::MCOperandInfo::OperandType

◆ RegClass

int16_t llvm::MCOperandInfo::RegClass

The documentation for this class was generated from the following file: