LLVM  13.0.0git
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 isBranchTarget () const
 Set if this operand is a branch target. More...
 
bool isGenericType () const
 
unsigned getGenericTypeIndex () const
 
bool isGenericImm () const
 
unsigned getGenericImmIndex () 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...
 
uint16_t Constraints
 Operand constraints (see OperandConstraint enum). More...
 

Detailed Description

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

Definition at line 84 of file MCInstrDesc.h.

Member Function Documentation

◆ getGenericImmIndex()

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

◆ getGenericTypeIndex()

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

◆ isBranchTarget()

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

Set if this operand is a branch target.

Definition at line 115 of file MCInstrDesc.h.

References llvm::MCOI::BranchTarget, and Flags.

◆ isGenericImm()

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

◆ 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 103 of file MCInstrDesc.h.

References Flags, and llvm::MCOI::LookupPtrRegClass.

Referenced by llvm::TargetInstrInfo::getRegClass(), and llvm::PPCInstrInfo::onlyFoldImmediate().

◆ isOptionalDef()

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

Set if this operand is a optional def.

Definition at line 112 of file MCInstrDesc.h.

References Flags, and llvm::MCOI::OptionalDef.

Referenced by llvm::TargetSchedModel::computeOperandLatency(), llvm::ARM_MC::isCPSRDefined(), and llvm::ARMBaseInstrInfo::PredicateInstruction().

◆ 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 109 of file MCInstrDesc.h.

References Flags, and llvm::MCOI::Predicate.

Referenced by llvm::MachineInstr::findFirstPredOperandIdx(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), and llvm::TargetInstrInfo::PredicateInstruction().

Member Data Documentation

◆ Constraints

uint16_t llvm::MCOperandInfo::Constraints

Operand constraints (see OperandConstraint enum).

Definition at line 99 of file MCInstrDesc.h.

Referenced by llvm::MCInstrDesc::getOperandConstraint(), and llvm::PPCInstrInfo::onlyFoldImmediate().

◆ Flags

uint8_t llvm::MCOperandInfo::Flags

These are flags from the MCOI::OperandFlags enum.

Definition at line 93 of file MCInstrDesc.h.

Referenced by isBranchTarget(), isLookupPtrRegClass(), isOptionalDef(), and isPredicate().

◆ OperandType

uint8_t llvm::MCOperandInfo::OperandType

◆ RegClass

int16_t llvm::MCOperandInfo::RegClass

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