LLVM 20.0.0git
|
This holds information about one operand of a machine instruction, indicating the register class for register operands, etc. More...
#include "llvm/MC/MCInstrDesc.h"
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. | |
bool | isPredicate () const |
Set if this is one of the operands that made up of the predicate operand that controls an isPredicable() instruction. | |
bool | isOptionalDef () const |
Set if this operand is a optional def. | |
bool | isBranchTarget () const |
Set if this operand is a branch target. | |
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. | |
uint8_t | Flags |
These are flags from the MCOI::OperandFlags enum. | |
uint8_t | OperandType |
Information about the type of the operand. | |
uint16_t | Constraints |
Operand constraints (see OperandConstraint enum). | |
This holds information about one operand of a machine instruction, indicating the register class for register operands, etc.
Definition at line 85 of file MCInstrDesc.h.
|
inline |
Definition at line 133 of file MCInstrDesc.h.
References assert(), isGenericImm(), llvm::MCOI::OPERAND_FIRST_GENERIC_IMM, and OperandType.
|
inline |
Definition at line 123 of file MCInstrDesc.h.
References assert(), isGenericType(), llvm::MCOI::OPERAND_FIRST_GENERIC, and OperandType.
|
inline |
Set if this operand is a branch target.
Definition at line 116 of file MCInstrDesc.h.
References llvm::MCOI::BranchTarget, and Flags.
|
inline |
Definition at line 128 of file MCInstrDesc.h.
References llvm::MCOI::OPERAND_FIRST_GENERIC_IMM, llvm::MCOI::OPERAND_LAST_GENERIC_IMM, and OperandType.
Referenced by getGenericImmIndex().
|
inline |
Definition at line 118 of file MCInstrDesc.h.
References llvm::MCOI::OPERAND_FIRST_GENERIC, llvm::MCOI::OPERAND_LAST_GENERIC, and OperandType.
Referenced by getGenericTypeIndex().
|
inline |
Set if this operand is a pointer value and it requires a callback to look up its register class.
Definition at line 104 of file MCInstrDesc.h.
References Flags, and llvm::MCOI::LookupPtrRegClass.
Referenced by llvm::PPCInstrInfo::onlyFoldImmediate().
|
inline |
Set if this operand is a optional def.
Definition at line 113 of file MCInstrDesc.h.
References Flags, and llvm::MCOI::OptionalDef.
|
inline |
Set if this is one of the operands that made up of the predicate operand that controls an isPredicable() instruction.
Definition at line 110 of file MCInstrDesc.h.
References Flags, and llvm::MCOI::Predicate.
uint16_t llvm::MCOperandInfo::Constraints |
Operand constraints (see OperandConstraint enum).
Definition at line 100 of file MCInstrDesc.h.
Referenced by llvm::PPCInstrInfo::onlyFoldImmediate().
uint8_t llvm::MCOperandInfo::Flags |
These are flags from the MCOI::OperandFlags enum.
Definition at line 94 of file MCInstrDesc.h.
Referenced by isBranchTarget(), isLookupPtrRegClass(), isOptionalDef(), and isPredicate().
uint8_t llvm::MCOperandInfo::OperandType |
Information about the type of the operand.
Definition at line 97 of file MCInstrDesc.h.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), getGenericImmIndex(), getGenericTypeIndex(), llvm::AMDGPU::getOperandSize(), llvm::SIInstrInfo::getOpSize(), isGenericImm(), isGenericType(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isOperandLegal(), needsExpandMemInst(), and llvm::SystemZInstrInfo::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 91 of file MCInstrDesc.h.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::SIInstrInfo::getOpSize(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isLegalRegOperand(), llvm::SIInstrInfo::isOperandLegal(), llvm::PPCInstrInfo::onlyFoldImmediate(), and llvm::SystemZInstrInfo::verifyInstruction().