LLVM
8.0.1
|
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 | 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... | |
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.
|
inline |
Definition at line 103 of file MCInstrDesc.h.
References assert(), and llvm::MCOI::OPERAND_FIRST_GENERIC.
Referenced by llvm::LegalizerInfo::getAction(), and matchPair().
|
inline |
Definition at line 98 of file MCInstrDesc.h.
References llvm::MCOI::OPERAND_FIRST_GENERIC, and llvm::MCOI::OPERAND_LAST_GENERIC.
Referenced by matchPair(), and llvm::LegalizerInfo::verify().
|
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().
|
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().
|
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().
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().
uint8_t llvm::MCOperandInfo::Flags |
These are flags from the MCOI::OperandFlags enum.
Definition at line 76 of file MCInstrDesc.h.
uint8_t llvm::MCOperandInfo::OperandType |
Information about the type of the operand.
Definition at line 79 of file MCInstrDesc.h.
Referenced by countMCSymbolRefExpr(), getLit64Encoding(), llvm::AMDGPU::getOperandSize(), llvm::SIInstrInfo::getOpSize(), getSpecialRegForName(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isInlineConstant(), isInlineConstantIfFolded(), llvm::SIInstrInfo::isLiteralConstant(), llvm::SIInstrInfo::isOperandLegal(), isRegOrImmWithInputMods(), llvm::AMDGPU::isSISrcFPOperand(), llvm::AMDGPU::isSISrcInlinableOperand(), llvm::AMDGPU::isSISrcOperand(), llvm::WebAssemblyMCInstLower::Lower(), llvm::WebAssemblyInstPrinter::printInst(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::AMDGPUInstPrinter::printRegOperand(), RewriteP2Align(), 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 73 of file MCInstrDesc.h.
Referenced by addRegsToSet(), AddThumb1SBit(), llvm::createR600ISelDag(), findSingleRegDef(), llvm::SIInstrInfo::getOpRegClass(), llvm::SIInstrInfo::getOpSize(), llvm::AVRInstPrinter::getPrettyRegisterName(), getRealVLDOpcode(), llvm::TargetInstrInfo::getRegClass(), getRegisterWidth(), llvm::AMDGPU::getRegOperandSize(), llvm::SIInstrInfo::isBufferSMRD(), llvm::SIInstrInfo::isImmOperandLegal(), llvm::SIInstrInfo::isLegalRegOperand(), llvm::SIInstrInfo::isOperandLegal(), isRegOrImmWithInputMods(), isUseSafeToFold(), llvm::SIInstrInfo::moveToVALU(), nextReg(), llvm::HexagonMCInstrInfo::predicateInfo(), llvm::AMDGPUInstPrinter::printRegOperand(), llvm::HexagonMCChecker::reportBranchErrors(), and llvm::SIInstrInfo::verifyInstruction().