LLVM  3.7.0
Public Member Functions | Static Public Member Functions | List of all members
llvm::MCOperand Class Reference

Instances of this class represent operands of the MCInst class. More...

#include <MCInst.h>

Collaboration diagram for llvm::MCOperand:
[legend]

Public Member Functions

 MCOperand ()
 
bool isValid () const
 
bool isReg () const
 
bool isImm () const
 
bool isFPImm () const
 
bool isExpr () const
 
bool isInst () const
 
unsigned getReg () const
 Returns the register number. More...
 
void setReg (unsigned Reg)
 Set the register number. More...
 
int64_t getImm () const
 
void setImm (int64_t Val)
 
double getFPImm () const
 
void setFPImm (double Val)
 
const MCExprgetExpr () const
 
void setExpr (const MCExpr *Val)
 
const MCInstgetInst () const
 
void setInst (const MCInst *Val)
 
void print (raw_ostream &OS) const
 
void dump () const
 

Static Public Member Functions

static MCOperand createReg (unsigned Reg)
 
static MCOperand createImm (int64_t Val)
 
static MCOperand createFPImm (double Val)
 
static MCOperand createExpr (const MCExpr *Val)
 
static MCOperand createInst (const MCInst *Val)
 

Detailed Description

Instances of this class represent operands of the MCInst class.

This is a simple discriminated union.

Definition at line 33 of file MCInst.h.

Constructor & Destructor Documentation

llvm::MCOperand::MCOperand ( )
inline

Definition at line 53 of file MCInst.h.

Member Function Documentation

static MCOperand llvm::MCOperand::createExpr ( const MCExpr Val)
inlinestatic
static MCOperand llvm::MCOperand::createFPImm ( double  Val)
inlinestatic

Definition at line 123 of file MCInst.h.

References FPImmVal.

Referenced by llvm::MCInstBuilder::addFPImm(), and llvm::ARMAsmPrinter::lowerOperand().

static MCOperand llvm::MCOperand::createImm ( int64_t  Val)
inlinestatic

Definition at line 117 of file MCInst.h.

References ImmVal.

Referenced by llvm::X86Operand::addAbsMemOperands(), llvm::X86Operand::addExpr(), llvm::MCInstBuilder::addImm(), llvm::X86Operand::addMemOffsOperands(), llvm::X86Operand::addMemOperands(), addNegOperand(), AddSubinstOperands(), llvm::HexagonMCShuffler::copyTo(), Decode2RImmInstruction(), Decode2RUSInstruction(), Decode3RImmInstruction(), DecodeAddiGroupBranch(), DecodeAddiur2Simm7(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrModeImm12Operand(), DecodeAddSubERegInstruction(), DecodeAdrInstruction(), DecodeANDI16Imm(), DecodeArmMOVTWInstruction(), DecodeBankedReg(), DecodeBaseAddSubImm(), decodeBDAddr12Operand(), decodeBDAddr20Operand(), decodeBDLAddr12Len8Operand(), decodeBDVAddr12Operand(), decodeBDXAddr12Operand(), decodeBDXAddr20Operand(), DecodeBgtzGroupBranch(), DecodeBgtzlGroupBranch(), DecodeBitfieldMaskOperand(), DecodeBitpOperand(), DecodeBlezGroupBranch(), DecodeBlezlGroupBranch(), DecodeBranchImmInstruction(), DecodeBranchTarget(), DecodeBranchTarget10MM(), DecodeBranchTarget21(), DecodeBranchTarget26(), DecodeBranchTarget7MM(), DecodeBranchTargetMM(), DecodeCacheOp(), DecodeCacheOpMM(), DecodeCacheOpR6(), DecodeCall(), DecodeCopMemInstruction(), DecodeCoprocessor(), DecodeCPSInstruction(), DecodeDaddiGroupBranch(), DecodeExtSize(), DecodeFixedPointScaleImm32(), DecodeFixedPointScaleImm64(), DecodeFMem(), DecodeFMem2(), DecodeFMem3(), DecodeFMemCop2R6(), DecodeFMOVLaneInstruction(), DecodeInsSize(), DecodeInstSyncBarrierOption(), DecodeINSVE_DF(), DecodeIT(), DecodeJMPL(), DecodeJumpTarget(), DecodeJumpTargetMM(), DecodeL2RUSInstruction(), DecodeLiSimm7(), DecodeLogicalImmInstruction(), DecodeLSAImm(), DecodeMem(), DecodeMemBarrierOption(), DecodeMemExtend(), DecodeMemMMGPImm7Lsl2(), DecodeMemMMImm12(), DecodeMemMMImm16(), DecodeMemMMImm4(), DecodeMemMMReglistImm4Lsl2(), DecodeMemMMSPImm5Lsl2(), DecodeMemMultipleWritebackInstruction(), decodeMemRIOperands(), decodeMemRIXOperands(), DecodeModImmInstruction(), DecodeModImmTiedInstruction(), DecodeMoveImmInstruction(), DecodeMRRC2(), DecodeMRSSystemRegister(), DecodeMSA128Mem(), DecodeMSRMask(), DecodeMSRSystemRegister(), DecodeNegImmOperand(), DecodeNEONModImmInstruction(), DecodePairLdStInstruction(), decodePCDBLOperand(), DecodePCRelLabel19(), DecodePostIdxReg(), DecodePredicateOperand(), DecodeReturn(), DecodeRFEInstruction(), DecodeRUSInstruction(), DecodeSETPANInstruction(), DecodeShiftRight16Imm(), DecodeShiftRight32Imm(), DecodeShiftRight64Imm(), DecodeShiftRight8Imm(), DecodeSignedLdStInstruction(), DecodeSIMM13(), DecodeSimm16(), DecodeSimm18Lsl3(), DecodeSimm19Lsl2(), DecodeSimm23Lsl2(), DecodeSimm4(), DecodeSimm9SP(), decodeSImmOperand(), DecodeSORegImmOperand(), DecodeSORegMemOperand(), DecodeSORegRegOperand(), DecodeSpecial3LlSc(), DecodeSWAP(), DecodeSyncI(), DecodeSystemPStateInstruction(), DecodeT2AddrModeImm0_1020s4(), DecodeT2AddrModeImm12(), DecodeT2AddrModeSOReg(), DecodeT2Adr(), DecodeT2BInstruction(), DecodeT2BROperand(), DecodeT2CPSInstruction(), DecodeT2Imm8(), DecodeT2Imm8S4(), DecodeT2LoadLabel(), DecodeT2MOVTWInstruction(), DecodeT2ShifterImmOperand(), DecodeT2SOImm(), DecodeTestAndBranch(), DecodeThreeAddrSRegInstruction(), DecodeThumbAddrModeIS(), DecodeThumbAddrModePC(), DecodeThumbAddrModeSP(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPImm(), DecodeThumbBCCTargetOperand(), DecodeThumbBLTargetOperand(), DecodeThumbBLXOffset(), DecodeThumbBROperand(), DecodeThumbCmpBROperand(), DecodeThumbCPS(), DecodeUImm5lsl2(), DecodeUImm6Lsl2(), decodeUImmOperand(), DecodeUnconditionalBranch(), DecodeUnsignedLdStInstruction(), DecodeVCVTD(), DecodeVCVTQ(), DecodeVecShiftLImm(), DecodeVecShiftRImm(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), llvm::HexagonMCELFStreamer::EmitInstruction(), llvm::HexagonAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::Thumb1InstrInfo::getNoopForMachoTarget(), llvm::ARMInstrInfo::getNoopForMachoTarget(), llvm::Thumb2InstrInfo::getNoopForMachoTarget(), llvm::AArch64InstrInfo::getNoopForMachoTarget(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::MSP430MCInstLower::Lower(), llvm::BPFMCInstLower::Lower(), llvm::XCoreMCInstLower::LowerOperand(), llvm::MipsMCInstLower::LowerOperand(), llvm::SystemZMCInstLower::lowerOperand(), llvm::AArch64MCInstLower::lowerOperand(), LowerOperand(), llvm::ARMAsmPrinter::lowerOperand(), llvm::LowerPPCMachineInstrToMCInst(), s10ImmDecoder(), s11_0ImmDecoder(), s11_1ImmDecoder(), s11_2ImmDecoder(), s11_3ImmDecoder(), s12ImmDecoder(), s16ImmDecoder(), s4_0ImmDecoder(), s4_1ImmDecoder(), s4_2ImmDecoder(), s4_3ImmDecoder(), s6_0ImmDecoder(), s8ImmDecoder(), translateImmediate(), and translateRMMemory().

static MCOperand llvm::MCOperand::createInst ( const MCInst Val)
inlinestatic
static MCOperand llvm::MCOperand::createReg ( unsigned  Reg)
inlinestatic

Definition at line 111 of file MCInst.h.

References RegVal.

Referenced by llvm::X86Operand::addDstIdxOperands(), llvm::X86Operand::addGR32orGR64Operands(), llvm::X86Operand::addMemOffsOperands(), llvm::X86Operand::addMemOperands(), llvm::MCInstBuilder::addReg(), llvm::X86Operand::addRegOperands(), llvm::X86Operand::addSrcIdxOperands(), AddSubinstOperands(), AddThumb1SBit(), convertToSExti8(), DecodeACC64DSPRegisterClass(), DecodeAddiGroupBranch(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAFGR64RegisterClass(), DecodeASRRegsRegisterClass(), decodeBDAddr12Operand(), decodeBDAddr20Operand(), decodeBDLAddr12Len8Operand(), decodeBDVAddr12Operand(), decodeBDXAddr12Operand(), decodeBDXAddr20Operand(), DecodeBgtzGroupBranch(), DecodeBgtzlGroupBranch(), DecodeBlezGroupBranch(), DecodeBlezlGroupBranch(), DecodeCacheOp(), DecodeCacheOpMM(), DecodeCacheOpR6(), DecodeCCOutOperand(), DecodeCCRRegisterClass(), DecodeCOP0RegisterClass(), DecodeCOP2RegisterClass(), decodeCRBitMOperand(), DecodeCtrRegs64RegisterClass(), DecodeCtrRegsRegisterClass(), DecodeDaddiGroupBranch(), DecodeDDDDRegisterClass(), DecodeDDDRegisterClass(), DecodeDDRegisterClass(), DecodeDFPRegsRegisterClass(), DecodeDPairRegisterClass(), DecodeDPairSpacedRegisterClass(), DecodeDPRRegisterClass(), DecodeFCCRegisterClass(), DecodeFCCRegsRegisterClass(), DecodeFGR32RegisterClass(), DecodeFGR64RegisterClass(), DecodeFGRCCRegisterClass(), DecodeFMem(), DecodeFMem2(), DecodeFMem3(), DecodeFMemCop2R6(), DecodeFPR128RegisterClass(), DecodeFPR16RegisterClass(), DecodeFPR32RegisterClass(), DecodeFPR64RegisterClass(), DecodeFPR8RegisterClass(), DecodeFPRegsRegisterClass(), DecodeGPR32RegisterClass(), DecodeGPR32spRegisterClass(), DecodeGPR64RegisterClass(), DecodeGPR64spRegisterClass(), DecodeGPRMM16MovePRegisterClass(), DecodeGPRMM16RegisterClass(), DecodeGPRMM16ZeroRegisterClass(), DecodeGPRPairRegisterClass(), DecodeGPRRegisterClass(), DecodeGPRSeqPairsClassRegisterClass(), DecodeGPRwithAPSRRegisterClass(), DecodeGRRegsRegisterClass(), DecodeHI32DSPRegisterClass(), DecodeHWRegsRegisterClass(), DecodeI64RegsRegisterClass(), DecodeIntRegsRegisterClass(), DecodeLO32DSPRegisterClass(), DecodeMem(), DecodeMemMMGPImm7Lsl2(), DecodeMemMMImm12(), DecodeMemMMImm16(), DecodeMemMMReglistImm4Lsl2(), DecodeMemMMSPImm5Lsl2(), decodeMemRIOperands(), decodeMemRIXOperands(), DecodeModRegsRegisterClass(), DecodeMovePRegPair(), DecodeMSA128BRegisterClass(), DecodeMSA128DRegisterClass(), DecodeMSA128HRegisterClass(), DecodeMSA128Mem(), DecodeMSA128WRegisterClass(), DecodeMSACtrlRegisterClass(), DecodePredicateOperand(), DecodePredRegsRegisterClass(), DecodeQFPRegsRegisterClass(), DecodeQPRRegisterClass(), DecodeQQQQRegisterClass(), DecodeQQQRegisterClass(), DecodeQQRegisterClass(), DecodeRegisterClass(), decodeRegisterClass(), DecodeRegListOperand(), DecodeRegListOperand16(), DecodeRRegsRegisterClass(), DecodeSpecial3LlSc(), DecodeSPRRegisterClass(), DecodeSyncI(), DecodetcGPRRegisterClass(), DecodeThumbAddrModeSP(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPImm(), DecodeThumbAddSPReg(), DecodeVectorRegisterClass(), DecodeVLD1LN(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), llvm::MipsTargetELFStreamer::emitDirectiveCpLoad(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::ARMInstrInfo::getNoopForMachoTarget(), llvm::Thumb1InstrInfo::getNoopForMachoTarget(), llvm::Thumb2InstrInfo::getNoopForMachoTarget(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::MSP430MCInstLower::Lower(), llvm::BPFMCInstLower::Lower(), llvm::XCoreMCInstLower::LowerOperand(), llvm::MipsMCInstLower::LowerOperand(), llvm::SystemZMCInstLower::lowerOperand(), llvm::AArch64MCInstLower::lowerOperand(), LowerOperand(), llvm::ARMAsmPrinter::lowerOperand(), llvm::LowerPPCMachineInstrToMCInst(), llvm::ARMInstPrinter::printInst(), translateDstIndex(), translateFPRegister(), translateImmediate(), translateMaskRegister(), translateRegister(), translateRMMemory(), and translateSrcIndex().

void MCOperand::dump ( ) const

Definition at line 36 of file MCInst.cpp.

References llvm::dbgs(), and print().

const MCExpr* llvm::MCOperand::getExpr ( ) const
inline

Definition at line 93 of file MCInst.h.

References ExprVal, and isExpr().

Referenced by addNegOperand(), llvm::MCStreamer::EmitInstruction(), llvm::HexagonMCELFStreamer::EmitSymbol(), getBranchTargetOpValue(), llvm::HexagonMCCodeEmitter::getMachineOpValue(), print(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAdrpLabel(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::HexagonInstPrinter::printImmOperand(), llvm::AArch64InstPrinter::printInst(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::BPFInstPrinter::printOperand(), llvm::MSP430InstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::SystemZInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::SparcInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::X86IntelInstPrinter::printPCRelImm(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::MSP430InstPrinter::printPCRelImmOperand(), llvm::NVPTXInstPrinter::printProtoIdent(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::PPCInstPrinter::printTLSCall(), llvm::AArch64InstPrinter::printUImm12Offset(), and SimplifyShortMoveForm().

double llvm::MCOperand::getFPImm ( ) const
inline

Definition at line 83 of file MCInst.h.

References FPImmVal, and isFPImm().

Referenced by llvm::AArch64InstPrinter::printFPImmOperand().

int64_t llvm::MCOperand::getImm ( ) const
inline

Definition at line 74 of file MCInst.h.

References ImmVal, and isImm().

Referenced by addNegOperand(), llvm::HexagonMCInstrInfo::clampExtended(), convert16i16to16ri8(), convert32i32to32ri8(), convert64i32to64ri8(), DecodeInsSize(), llvm::HexagonMCInstrInfo::deriveSubInst(), llvm::EmitAnyX86InstComments(), llvm::MCInstrAnalysis::evaluateBranch(), getBranchTargetOpValue(), llvm::HexagonMCInstrInfo::getDuplexCandidateGroup(), getITDeprecationInfo(), llvm::HexagonMCCodeEmitter::getMachineOpValue(), getMCRDeprecationInfo(), HasConditionalBranch(), llvm::HexagonMCInstrInfo::isConstExtended(), llvm::HexagonMCInstrInfo::isInnerLoop(), llvm::HexagonMCInstrInfo::isOuterLoop(), llvm::LowerARMMachineInstrToMCInst(), LowerDextDins(), LowerLargeShift(), print(), llvm::PPCInstPrinter::printAbsBranchOperand(), llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAddrMode2Operand(), llvm::ARMInstPrinter::printAddrMode3OffsetOperand(), llvm::ARMInstPrinter::printAddrMode3Operand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrMode6Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAdrpLabel(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::AArch64InstPrinter::printArithExtend(), llvm::ARMInstPrinter::printBankedRegOperand(), llvm::AArch64InstPrinter::printBarrierOption(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::MSP430InstPrinter::printCCOperand(), llvm::SparcInstPrinter::printCCOperand(), llvm::ARMInstPrinter::printCImmediate(), llvm::NVPTXInstPrinter::printCmpMode(), llvm::AArch64InstPrinter::printCondCode(), llvm::ARMInstPrinter::printCoprocOptionImm(), llvm::ARMInstPrinter::printCPSIFlag(), llvm::ARMInstPrinter::printCPSIMod(), llvm::NVPTXInstPrinter::printCvtMode(), llvm::HexagonInstPrinter::printExtOperand(), llvm::ARMInstPrinter::printFBits16(), llvm::ARMInstPrinter::printFBits32(), llvm::AArch64InstPrinter::printFPImmOperand(), llvm::ARMInstPrinter::printFPImmOperand(), llvm::HexagonInstPrinter::printFrameIndexOperand(), llvm::AArch64InstPrinter::printHexImm(), llvm::BPFInstPrinter::printImm64Operand(), llvm::HexagonInstPrinter::printImmOperand(), llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::AArch64InstPrinter::printImmScale(), llvm::ARMInstPrinter::printInst(), llvm::AArch64InstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::AArch64AppleInstPrinter::printInst(), llvm::ARMInstPrinter::printInstSyncBOption(), llvm::AArch64InstPrinter::printInverseCondCode(), llvm::NVPTXInstPrinter::printLdStCode(), llvm::ARMInstPrinter::printLdStmModeOperand(), llvm::AArch64InstPrinter::printLogicalImm32(), llvm::AArch64InstPrinter::printLogicalImm64(), llvm::ARMInstPrinter::printMandatoryPredicateOperand(), llvm::ARMInstPrinter::printMemBOption(), llvm::AArch64InstPrinter::printMemExtend(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::BPFInstPrinter::printMemOperand(), llvm::NVPTXInstPrinter::printMemOperand(), llvm::SparcInstPrinter::printMemOperand(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::HexagonInstPrinter::printMEMriOperand(), llvm::ARMInstPrinter::printModImmOperand(), llvm::AArch64InstPrinter::printMRSSystemRegister(), llvm::ARMInstPrinter::printMSRMaskOperand(), llvm::AArch64InstPrinter::printMSRSystemRegister(), llvm::HexagonInstPrinter::printNegImmOperand(), llvm::ARMInstPrinter::printNEONModImmOperand(), llvm::ARMInstPrinter::printNoHashImmediate(), llvm::BPFInstPrinter::printOperand(), llvm::MSP430InstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::SystemZInstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::SparcInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::X86IntelInstPrinter::printPCRelImm(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::MSP430InstPrinter::printPCRelImmOperand(), llvm::ARMInstPrinter::printPImmediate(), llvm::ARMInstPrinter::printPKHASRShiftImm(), llvm::ARMInstPrinter::printPKHLSLShiftImm(), llvm::ARMInstPrinter::printPostIdxImm8Operand(), llvm::ARMInstPrinter::printPostIdxImm8s4Operand(), llvm::ARMInstPrinter::printPostIdxRegOperand(), llvm::PPCInstPrinter::printPredicateOperand(), llvm::ARMInstPrinter::printPredicateOperand(), llvm::AArch64InstPrinter::printPrefetchOp(), llvm::ARMInstPrinter::printRotImmOperand(), llvm::X86IntelInstPrinter::printRoundingControl(), llvm::X86ATTInstPrinter::printRoundingControl(), llvm::PPCInstPrinter::printS16ImmOperand(), llvm::PPCInstPrinter::printS5ImmOperand(), llvm::ARMInstPrinter::printSetendOperand(), llvm::AArch64InstPrinter::printShifter(), llvm::ARMInstPrinter::printShiftImmOperand(), llvm::AArch64InstPrinter::printSIMDType10Operand(), printSImmOperand(), llvm::ARMInstPrinter::printSORegImmOperand(), llvm::ARMInstPrinter::printSORegRegOperand(), llvm::SparcInstPrinter::printSparcAliasInstr(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::X86IntelInstPrinter::printSSEAVXCC(), llvm::X86ATTInstPrinter::printSSEAVXCC(), llvm::AArch64InstPrinter::printSysAlias(), llvm::AArch64InstPrinter::printSysCROperand(), llvm::AArch64InstPrinter::printSystemPStateField(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4OffsetOperand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printT2AddrModeSoRegOperand(), llvm::ARMInstPrinter::printT2SOOperand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbITMask(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), llvm::ARMInstPrinter::printThumbSRImm(), llvm::PPCInstPrinter::printU10ImmOperand(), llvm::PPCInstPrinter::printU12ImmOperand(), llvm::PPCInstPrinter::printU16ImmOperand(), llvm::PPCInstPrinter::printU1ImmOperand(), llvm::PPCInstPrinter::printU2ImmOperand(), llvm::PPCInstPrinter::printU3ImmOperand(), llvm::PPCInstPrinter::printU4ImmOperand(), llvm::PPCInstPrinter::printU5ImmOperand(), llvm::PPCInstPrinter::printU6ImmOperand(), llvm::X86IntelInstPrinter::printU8Imm(), llvm::X86ATTInstPrinter::printU8Imm(), llvm::AArch64InstPrinter::printUImm12Offset(), printUImmOperand(), llvm::HexagonInstPrinter::printUnsignedImmOperand(), llvm::AArch64InstPrinter::printVectorIndex(), llvm::ARMInstPrinter::printVectorIndex(), llvm::X86IntelInstPrinter::printXOPCC(), llvm::X86ATTInstPrinter::printXOPCC(), llvm::HexagonMCInstrInfo::setInnerLoop(), llvm::HexagonMCInstrInfo::setOuterLoop(), SimplifyShortMoveForm(), and llvm::HexagonMCInstrInfo::subInstWouldBeExtended().

const MCInst* llvm::MCOperand::getInst ( ) const
inline
unsigned llvm::MCOperand::getReg ( ) const
inline

Returns the register number.

Definition at line 63 of file MCInst.h.

References isReg(), and RegVal.

Referenced by addOps(), checkLowRegisterList(), DecodeRegListOperand(), llvm::HexagonMCInstrInfo::deriveSubInst(), DetermineREXPrefix(), llvm::EmitAnyX86InstComments(), llvm::MipsELFStreamer::EmitInstruction(), llvm::HexagonMCCodeEmitter::EncodeSingleInstruction(), getARMLoadDeprecationInfo(), getARMStoreDeprecationInfo(), llvm::HexagonMCInstrInfo::getDuplexCandidateGroup(), llvm::HexagonMCCodeEmitter::getMachineOpValue(), HasConditionalBranch(), Is32BitMemOperand(), Is64BitMemOperand(), llvm::HexagonMCInstrInfo::isOrderedDuplexPair(), isReg(), listContainsReg(), llvm::MCInstrDesc::mayAffectControlFlow(), print(), llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAddrMode3OffsetOperand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrMode6OffsetOperand(), llvm::ARMInstPrinter::printAddrMode6Operand(), llvm::ARMInstPrinter::printAddrMode7Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::ARMInstPrinter::printAddrModeTBB(), llvm::ARMInstPrinter::printAddrModeTBH(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::AArch64InstPrinter::printAMNoIndex(), llvm::AArch64InstPrinter::printArithExtend(), llvm::PPCInstPrinter::printcrbitm(), llvm::AArch64InstPrinter::printExtendedRegister(), llvm::HexagonInstPrinter::printFrameIndexOperand(), llvm::ARMInstPrinter::printGPRPairOperand(), llvm::AArch64InstPrinter::printGPRSeqPairsClassOperand(), llvm::ARMInstPrinter::printInst(), llvm::AArch64InstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::AArch64AppleInstPrinter::printInst(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::BPFInstPrinter::printMemOperand(), llvm::SparcInstPrinter::printMemOperand(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::PPCInstPrinter::printMemRegImm(), llvm::PPCInstPrinter::printMemRegReg(), llvm::HexagonInstPrinter::printMEMriOperand(), llvm::ARMInstPrinter::printModImmOperand(), llvm::BPFInstPrinter::printOperand(), llvm::MSP430InstPrinter::printOperand(), llvm::SystemZInstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::SparcInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::ARMInstPrinter::printPostIdxRegOperand(), llvm::AArch64InstPrinter::printPostIncOperand(), llvm::ARMInstPrinter::printRegisterList(), llvm::ARMInstPrinter::printSBitModifierOperand(), llvm::AArch64InstPrinter::printShiftedRegister(), llvm::ARMInstPrinter::printSORegImmOperand(), llvm::ARMInstPrinter::printSORegRegOperand(), llvm::SparcInstPrinter::printSparcAliasInstr(), llvm::X86IntelInstPrinter::printSrcIdx(), llvm::X86ATTInstPrinter::printSrcIdx(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::AArch64InstPrinter::printSysAlias(), llvm::ARMInstPrinter::printT2AddrModeImm0_1020s4Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8Operand(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printT2AddrModeSoRegOperand(), llvm::ARMInstPrinter::printT2SOOperand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbAddrModeRROperand(), llvm::AArch64InstPrinter::printVectorList(), llvm::ARMInstPrinter::printVectorListFour(), llvm::ARMInstPrinter::printVectorListFourAllLanes(), llvm::ARMInstPrinter::printVectorListFourSpaced(), llvm::ARMInstPrinter::printVectorListFourSpacedAllLanes(), llvm::ARMInstPrinter::printVectorListOne(), llvm::ARMInstPrinter::printVectorListOneAllLanes(), llvm::ARMInstPrinter::printVectorListThree(), llvm::ARMInstPrinter::printVectorListThreeAllLanes(), llvm::ARMInstPrinter::printVectorListThreeSpaced(), llvm::ARMInstPrinter::printVectorListThreeSpacedAllLanes(), llvm::ARMInstPrinter::printVectorListTwo(), llvm::ARMInstPrinter::printVectorListTwoAllLanes(), llvm::ARMInstPrinter::printVectorListTwoSpaced(), llvm::ARMInstPrinter::printVectorListTwoSpacedAllLanes(), llvm::AArch64InstPrinter::printVRegOperand(), SimplifyMOVSX(), SimplifyShortImmForm(), SimplifyShortMoveForm(), llvm::HexagonMCInstrInfo::subInstWouldBeExtended(), and llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand().

bool llvm::MCOperand::isExpr ( ) const
inline

Definition at line 59 of file MCInst.h.

Referenced by llvm::MCStreamer::EmitInstruction(), llvm::HexagonMCELFStreamer::EmitSymbol(), getBranchTargetOpValue(), getExpr(), llvm::HexagonMCInstrInfo::getExtendableOperand(), llvm::HexagonMCCodeEmitter::getMachineOpValue(), llvm::HexagonMCInstrInfo::isConstExtended(), print(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::HexagonInstPrinter::printConstantPool(), llvm::HexagonInstPrinter::printExtBrtarget(), llvm::HexagonInstPrinter::printExtOperand(), llvm::HexagonInstPrinter::printGlobalOperand(), llvm::HexagonInstPrinter::printImmOperand(), llvm::AArch64InstPrinter::printInst(), llvm::HexagonInstPrinter::printJumpTable(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::ARMInstPrinter::printModImmOperand(), llvm::BPFInstPrinter::printOperand(), llvm::MSP430InstPrinter::printOperand(), llvm::SystemZInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::SparcInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::X86IntelInstPrinter::printPCRelImm(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::MSP430InstPrinter::printPCRelImmOperand(), llvm::NVPTXInstPrinter::printProtoIdent(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::AArch64InstPrinter::printUImm12Offset(), setExpr(), SimplifyShortImmForm(), SimplifyShortMoveForm(), and llvm::HexagonMCInstrInfo::subInstWouldBeExtended().

bool llvm::MCOperand::isFPImm ( ) const
inline

Definition at line 58 of file MCInst.h.

Referenced by getFPImm(), llvm::AArch64InstPrinter::printFPImmOperand(), and setFPImm().

bool llvm::MCOperand::isImm ( ) const
inline

Definition at line 57 of file MCInst.h.

Referenced by addNegOperand(), llvm::HexagonMCInstrInfo::clampExtended(), convert16i16to16ri8(), convert32i32to32ri8(), convert64i32to64ri8(), llvm::HexagonMCInstrInfo::deriveSubInst(), llvm::EmitAnyX86InstComments(), getBranchTargetOpValue(), llvm::HexagonMCInstrInfo::getDuplexCandidateGroup(), llvm::HexagonMCInstrInfo::getExtendableOperand(), getImm(), getITDeprecationInfo(), llvm::HexagonMCCodeEmitter::getMachineOpValue(), getMCRDeprecationInfo(), HasConditionalBranch(), llvm::HexagonMCInstrInfo::isBundle(), llvm::HexagonMCInstrInfo::isConstExtended(), llvm::LowerARMMachineInstrToMCInst(), LowerDextDins(), LowerLargeShift(), print(), llvm::PPCInstPrinter::printAbsBranchOperand(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::AArch64InstPrinter::printAdrpLabel(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::PPCInstPrinter::printBranchOperand(), llvm::HexagonInstPrinter::printExtOperand(), llvm::BPFInstPrinter::printImm64Operand(), llvm::HexagonInstPrinter::printImmOperand(), llvm::ARMInstPrinter::printInst(), llvm::AArch64InstPrinter::printInst(), llvm::X86IntelInstPrinter::printMemOffset(), llvm::X86ATTInstPrinter::printMemOffset(), llvm::BPFInstPrinter::printMemOperand(), llvm::NVPTXInstPrinter::printMemOperand(), llvm::SparcInstPrinter::printMemOperand(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::BPFInstPrinter::printOperand(), llvm::MSP430InstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::SystemZInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::SparcInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::X86IntelInstPrinter::printPCRelImm(), llvm::X86ATTInstPrinter::printPCRelImm(), llvm::MSP430InstPrinter::printPCRelImmOperand(), llvm::PPCInstPrinter::printS16ImmOperand(), llvm::SparcInstPrinter::printSparcAliasInstr(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::HexagonInstPrinter::printSymbol(), llvm::AArch64InstPrinter::printSysCROperand(), llvm::ARMInstPrinter::printT2SOOperand(), llvm::PPCInstPrinter::printU16ImmOperand(), llvm::AArch64InstPrinter::printUImm12Offset(), setImm(), SimplifyShortImmForm(), SimplifyShortMoveForm(), and llvm::HexagonMCInstrInfo::subInstWouldBeExtended().

bool llvm::MCOperand::isInst ( ) const
inline

Definition at line 60 of file MCInst.h.

Referenced by getInst(), print(), and setInst().

bool llvm::MCOperand::isReg ( ) const
inline

Definition at line 56 of file MCInst.h.

Referenced by addOps(), DetermineREXPrefix(), llvm::MipsELFStreamer::EmitInstruction(), getARMLoadDeprecationInfo(), getARMStoreDeprecationInfo(), llvm::HexagonMCCodeEmitter::getMachineOpValue(), llvm::HexagonMCInstrInfo::getNewValueOperand(), getReg(), HasConditionalBranch(), llvm::HexagonMCInstrInfo::isOrderedDuplexPair(), isReg(), llvm::MCInstrDesc::mayAffectControlFlow(), print(), llvm::ARMInstPrinter::printAddrMode2Operand(), llvm::ARMInstPrinter::printAddrMode3Operand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::BPFInstPrinter::printMemOperand(), llvm::SparcInstPrinter::printMemOperand(), llvm::BPFInstPrinter::printOperand(), llvm::MSP430InstPrinter::printOperand(), llvm::SystemZInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::SparcInstPrinter::printOperand(), llvm::PPCInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::AArch64InstPrinter::printOperand(), llvm::AArch64InstPrinter::printPostIncOperand(), llvm::SparcInstPrinter::printSparcAliasInstr(), llvm::ARMInstPrinter::printT2AddrModeImm8s4Operand(), llvm::ARMInstPrinter::printThumbAddrModeImm5SOperand(), llvm::ARMInstPrinter::printThumbAddrModeRROperand(), llvm::AArch64InstPrinter::printVRegOperand(), setReg(), SimplifyShortImmForm(), and SimplifyShortMoveForm().

bool llvm::MCOperand::isValid ( ) const
inline
void MCOperand::print ( raw_ostream OS) const
void llvm::MCOperand::setExpr ( const MCExpr Val)
inline

Definition at line 97 of file MCInst.h.

References ExprVal, and isExpr().

void llvm::MCOperand::setFPImm ( double  Val)
inline

Definition at line 88 of file MCInst.h.

References FPImmVal, and isFPImm().

void llvm::MCOperand::setImm ( int64_t  Val)
inline
void llvm::MCOperand::setInst ( const MCInst Val)
inline

Definition at line 106 of file MCInst.h.

References InstVal, and isInst().

Referenced by llvm::HexagonMCInstrInfo::replaceDuplex().

void llvm::MCOperand::setReg ( unsigned  Reg)
inline

Set the register number.

Definition at line 69 of file MCInst.h.

References isReg(), and RegVal.

Referenced by llvm::HexagonMCCodeEmitter::EncodeSingleInstruction().

Member Data Documentation

const MCExpr* llvm::MCOperand::ExprVal

Definition at line 48 of file MCInst.h.

Referenced by createExpr(), getExpr(), and setExpr().

double llvm::MCOperand::FPImmVal

Definition at line 47 of file MCInst.h.

Referenced by createFPImm(), getFPImm(), and setFPImm().

int64_t llvm::MCOperand::ImmVal

Definition at line 46 of file MCInst.h.

Referenced by createImm(), getImm(), and setImm().

const MCInst* llvm::MCOperand::InstVal

Definition at line 49 of file MCInst.h.

Referenced by createInst(), getInst(), and setInst().

unsigned llvm::MCOperand::RegVal

Definition at line 45 of file MCInst.h.

Referenced by createReg(), getReg(), and setReg().


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