LLVM
15.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. 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... | |
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.
|
inline |
Definition at line 132 of file MCInstrDesc.h.
References assert(), isGenericImm(), llvm::MCOI::OPERAND_FIRST_GENERIC_IMM, and OperandType.
|
inline |
Definition at line 122 of file MCInstrDesc.h.
References assert(), isGenericType(), llvm::MCOI::OPERAND_FIRST_GENERIC, and OperandType.
Referenced by llvm::LegalizerInfo::getAction().
|
inline |
Set if this operand is a branch target.
Definition at line 115 of file MCInstrDesc.h.
References llvm::MCOI::BranchTarget, and Flags.
|
inline |
Definition at line 127 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 117 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 103 of file MCInstrDesc.h.
References Flags, and llvm::MCOI::LookupPtrRegClass.
Referenced by llvm::TargetInstrInfo::getRegClass(), and llvm::PPCInstrInfo::onlyFoldImmediate().
|
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().
|
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().
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().
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().
uint8_t llvm::MCOperandInfo::OperandType |
Information about the type of the operand.
Definition at line 96 of file MCInstrDesc.h.
Referenced by llvm::AMDGPUDisassembler::convertFMAanyK(), llvm::X86_MC::X86MCInstrAnalysis::evaluateBranch(), findFirstVectorPredOperandIdx(), llvm::findFirstVPTPredOperandIdx(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), getGenericImmIndex(), getGenericTypeIndex(), llvm::AArch64Disassembler::getInstruction(), llvm::AMDGPU::getOperandSize(), llvm::SIInstrInfo::getOpSize(), isGenericImm(), isGenericType(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isInlineConstant(), llvm::SIInstrInfo::isLiteralConstant(), llvm::SIInstrInfo::isOperandLegal(), isRegOrImmWithInputMods(), llvm::AMDGPU::isSISrcFPOperand(), llvm::AMDGPU::isSISrcInlinableOperand(), llvm::AMDGPU::isSISrcOperand(), needsExpandMemInst(), llvm::SPIRVInstPrinter::printInst(), llvm::WebAssemblyInstPrinter::printInst(), tryAddToFoldList(), tryToFoldACImm(), llvm::SystemZInstrInfo::verifyInstruction(), 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 90 of file MCInstrDesc.h.
Referenced by llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::AArch64Disassembler::getInstruction(), llvm::SIInstrInfo::getOpRegClass(), llvm::SIInstrInfo::getOpSize(), llvm::TargetInstrInfo::getRegClass(), llvm::SIInstrInfo::getRegClass(), llvm::PPCInstrInfo::getRegNumForOperand(), llvm::AMDGPU::getRegOperandSize(), hasType(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isLegalRegOperand(), llvm::SIInstrInfo::isOperandLegal(), llvm::HexagonMCInstrInfo::isPredRegister(), isRegOrImmWithInputMods(), llvm::PPCInstrInfo::onlyFoldImmediate(), llvm::HexagonMCInstrInfo::predicateInfo(), llvm::SystemZInstrInfo::verifyInstruction(), and llvm::SIInstrInfo::verifyInstruction().