LLVM  3.7.0
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 <MCInstrDesc.h>

Collaboration diagram for llvm::MCOperandInfo:
[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...
 

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

Member Function Documentation

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

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

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

bool llvm::MCOperandInfo::isOptionalDef ( ) const
inline
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 82 of file MCInstrDesc.h.

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

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

Member Data Documentation

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

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

uint8_t llvm::MCOperandInfo::Flags

These are flags from the MCOI::OperandFlags enum.

Definition at line 65 of file MCInstrDesc.h.

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

uint8_t llvm::MCOperandInfo::OperandType

Information about the type of the operand.

Definition at line 68 of file MCInstrDesc.h.

Referenced by llvm::SIInstrInfo::getOpSize(), llvm::SIInstrInfo::isImmOperandLegal(), and llvm::SIInstrInfo::verifyInstruction().

int16_t llvm::MCOperandInfo::RegClass

This specifies the register class enumeration of the operand if the operand is a register.

If isLookupPtrRegClass is set, then this is an index that is passed to TargetRegisterInfo::getPointerRegClass(x) to get a dynamic register class.

Definition at line 62 of file MCInstrDesc.h.

Referenced by AddThumb1SBit(), llvm::SIInstrInfo::getOpRegClass(), llvm::SIInstrInfo::getOpSize(), llvm::TargetInstrInfo::getRegClass(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isOperandLegal(), and llvm::SIInstrInfo::verifyInstruction().


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