LLVM  3.7.0
Public Types | Public Member Functions | List of all members
llvm::MCInst Class Reference

Instances of this class represent a single low-level machine instruction. More...

#include <MCInst.h>

Public Types

typedef SmallVectorImpl
< MCOperand >::iterator 
iterator
 
typedef SmallVectorImpl
< MCOperand >::const_iterator 
const_iterator
 

Public Member Functions

 MCInst ()
 
void setOpcode (unsigned Op)
 
unsigned getOpcode () const
 
void setLoc (SMLoc loc)
 
SMLoc getLoc () const
 
const MCOperandgetOperand (unsigned i) const
 
MCOperandgetOperand (unsigned i)
 
unsigned getNumOperands () const
 
void addOperand (const MCOperand &Op)
 
void clear ()
 
void erase (iterator I)
 
size_t size () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator insert (iterator I, const MCOperand &Op)
 
void print (raw_ostream &OS) const
 
void dump () const
 
void dump_pretty (raw_ostream &OS, const MCInstPrinter *Printer=nullptr, StringRef Separator=" ") const
 Dump the MCInst as prettily as possible using the additional MC structures, if given. More...
 

Detailed Description

Instances of this class represent a single low-level machine instruction.

Definition at line 150 of file MCInst.h.

Member Typedef Documentation

Definition at line 171 of file MCInst.h.

Definition at line 170 of file MCInst.h.

Constructor & Destructor Documentation

llvm::MCInst::MCInst ( )
inline

Definition at line 156 of file MCInst.h.

Member Function Documentation

void llvm::MCInst::addOperand ( const MCOperand Op)
inline

Definition at line 168 of file MCInst.h.

Referenced by llvm::X86Operand::addAbsMemOperands(), llvm::X86Operand::addDstIdxOperands(), llvm::MCInstBuilder::addExpr(), llvm::X86Operand::addExpr(), llvm::MCInstBuilder::addFPImm(), llvm::X86Operand::addGR32orGR64Operands(), llvm::MCInstBuilder::addImm(), llvm::MCInstBuilder::addInst(), llvm::X86Operand::addMemOffsOperands(), llvm::X86Operand::addMemOperands(), addNegOperand(), llvm::MCInstBuilder::addOperand(), addOps(), llvm::MCInstBuilder::addReg(), llvm::X86Operand::addRegOperands(), llvm::X86Operand::addSrcIdxOperands(), AddSubinstOperands(), convertToSExti8(), llvm::HexagonMCShuffler::copyTo(), Decode2RImmInstruction(), Decode2RUSInstruction(), Decode3RImmInstruction(), DecodeACC64DSPRegisterClass(), DecodeAddiGroupBranch(), DecodeAddiur2Simm7(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrModeImm12Operand(), DecodeAddSubERegInstruction(), DecodeAdrInstruction(), DecodeAFGR64RegisterClass(), DecodeANDI16Imm(), DecodeArmMOVTWInstruction(), DecodeASRRegsRegisterClass(), 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(), DecodeCCOutOperand(), DecodeCCRRegisterClass(), DecodeCOP0RegisterClass(), DecodeCOP2RegisterClass(), DecodeCopMemInstruction(), DecodeCoprocessor(), DecodeCPSInstruction(), decodeCRBitMOperand(), DecodeCtrRegs64RegisterClass(), DecodeCtrRegsRegisterClass(), DecodeDaddiGroupBranch(), DecodeDDDDRegisterClass(), DecodeDDDRegisterClass(), DecodeDDRegisterClass(), DecodeDFPRegsRegisterClass(), DecodeDPairRegisterClass(), DecodeDPairSpacedRegisterClass(), DecodeDPRRegisterClass(), DecodeExtSize(), DecodeFCCRegisterClass(), DecodeFCCRegsRegisterClass(), DecodeFGR32RegisterClass(), DecodeFGR64RegisterClass(), DecodeFGRCCRegisterClass(), DecodeFixedPointScaleImm32(), DecodeFixedPointScaleImm64(), DecodeFMem(), DecodeFMem2(), DecodeFMem3(), DecodeFMemCop2R6(), DecodeFMOVLaneInstruction(), DecodeFPR128RegisterClass(), DecodeFPR16RegisterClass(), DecodeFPR32RegisterClass(), DecodeFPR64RegisterClass(), DecodeFPR8RegisterClass(), DecodeFPRegsRegisterClass(), DecodeGPR32RegisterClass(), DecodeGPR32spRegisterClass(), DecodeGPR64RegisterClass(), DecodeGPR64spRegisterClass(), DecodeGPRMM16MovePRegisterClass(), DecodeGPRMM16RegisterClass(), DecodeGPRMM16ZeroRegisterClass(), DecodeGPRPairRegisterClass(), DecodeGPRRegisterClass(), DecodeGPRSeqPairsClassRegisterClass(), DecodeGPRwithAPSRRegisterClass(), DecodeGRRegsRegisterClass(), DecodeHI32DSPRegisterClass(), DecodeHWRegsRegisterClass(), DecodeI64RegsRegisterClass(), DecodeInsSize(), DecodeInstSyncBarrierOption(), DecodeINSVE_DF(), DecodeIntRegsRegisterClass(), DecodeIT(), DecodeJMPL(), DecodeJumpTarget(), DecodeJumpTargetMM(), DecodeL2RUSInstruction(), DecodeLiSimm7(), DecodeLO32DSPRegisterClass(), DecodeLogicalImmInstruction(), DecodeLSAImm(), DecodeMem(), DecodeMemBarrierOption(), DecodeMemExtend(), DecodeMemMMGPImm7Lsl2(), DecodeMemMMImm12(), DecodeMemMMImm16(), DecodeMemMMImm4(), DecodeMemMMReglistImm4Lsl2(), DecodeMemMMSPImm5Lsl2(), DecodeMemMultipleWritebackInstruction(), decodeMemRIOperands(), decodeMemRIXOperands(), DecodeModImmInstruction(), DecodeModImmTiedInstruction(), DecodeModRegsRegisterClass(), DecodeMoveImmInstruction(), DecodeMovePRegPair(), DecodeMRRC2(), DecodeMRSSystemRegister(), DecodeMSA128BRegisterClass(), DecodeMSA128DRegisterClass(), DecodeMSA128HRegisterClass(), DecodeMSA128Mem(), DecodeMSA128WRegisterClass(), DecodeMSACtrlRegisterClass(), DecodeMSRMask(), DecodeMSRSystemRegister(), DecodeNegImmOperand(), DecodeNEONModImmInstruction(), DecodePairLdStInstruction(), decodePCDBLOperand(), DecodePCRelLabel19(), DecodePostIdxReg(), DecodePredicateOperand(), DecodePredRegsRegisterClass(), DecodeQFPRegsRegisterClass(), DecodeQPRRegisterClass(), DecodeQQQQRegisterClass(), DecodeQQQRegisterClass(), DecodeQQRegisterClass(), DecodeRegisterClass(), decodeRegisterClass(), DecodeRegListOperand(), DecodeRegListOperand16(), DecodeReturn(), DecodeRFEInstruction(), DecodeRRegsRegisterClass(), DecodeRUSInstruction(), DecodeSETPANInstruction(), DecodeShiftRight16Imm(), DecodeShiftRight32Imm(), DecodeShiftRight64Imm(), DecodeShiftRight8Imm(), DecodeSignedLdStInstruction(), DecodeSIMM13(), DecodeSimm16(), DecodeSimm18Lsl3(), DecodeSimm19Lsl2(), DecodeSimm23Lsl2(), DecodeSimm4(), DecodeSimm9SP(), decodeSImmOperand(), DecodeSORegImmOperand(), DecodeSORegMemOperand(), DecodeSORegRegOperand(), DecodeSpecial3LlSc(), DecodeSPRRegisterClass(), DecodeSWAP(), DecodeSyncI(), DecodeSystemPStateInstruction(), DecodeT2AddrModeImm0_1020s4(), DecodeT2AddrModeImm12(), DecodeT2AddrModeSOReg(), DecodeT2Adr(), DecodeT2BInstruction(), DecodeT2BROperand(), DecodeT2CPSInstruction(), DecodeT2Imm8(), DecodeT2Imm8S4(), DecodeT2LoadLabel(), DecodeT2MOVTWInstruction(), DecodeT2ShifterImmOperand(), DecodeT2SOImm(), DecodetcGPRRegisterClass(), DecodeTestAndBranch(), DecodeThreeAddrSRegInstruction(), DecodeThumbAddrModeIS(), DecodeThumbAddrModePC(), DecodeThumbAddrModeSP(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPImm(), DecodeThumbAddSPReg(), DecodeThumbBCCTargetOperand(), DecodeThumbBLTargetOperand(), DecodeThumbBROperand(), DecodeThumbCmpBROperand(), DecodeThumbCPS(), DecodeUImm5lsl2(), DecodeUImm6Lsl2(), decodeUImmOperand(), DecodeUnconditionalBranch(), DecodeUnsignedLdStInstruction(), DecodeVCVTD(), DecodeVCVTQ(), DecodeVecShiftLImm(), DecodeVecShiftRImm(), DecodeVectorRegisterClass(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), llvm::HexagonMCInstrInfo::deriveDuplex(), EmitBinary(), EmitCall(), llvm::MipsTargetELFStreamer::emitDirectiveCpLoad(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), llvm::HexagonMCELFStreamer::EmitInstruction(), llvm::HexagonAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), EmitSETHI(), llvm::ARMInstrInfo::getNoopForMachoTarget(), llvm::Thumb1InstrInfo::getNoopForMachoTarget(), llvm::Thumb2InstrInfo::getNoopForMachoTarget(), llvm::AArch64InstrInfo::getNoopForMachoTarget(), llvm::X86InstrInfo::getUnconditionalBranch(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::SystemZMCInstLower::lower(), llvm::XCoreMCInstLower::Lower(), llvm::MSP430MCInstLower::Lower(), llvm::MipsMCInstLower::Lower(), llvm::BPFMCInstLower::Lower(), llvm::AArch64MCInstLower::Lower(), llvm::LowerARMMachineInstrToMCInst(), llvm::LowerPPCMachineInstrToMCInst(), llvm::LowerSparcMachineInstrToMCInst(), llvm::HexagonMCInstrInfo::padEndloop(), llvm::ARMInstPrinter::printInst(), s10ImmDecoder(), s11_0ImmDecoder(), s11_1ImmDecoder(), s11_2ImmDecoder(), s11_3ImmDecoder(), s12ImmDecoder(), s16ImmDecoder(), s4_0ImmDecoder(), s4_1ImmDecoder(), s4_2ImmDecoder(), s4_3ImmDecoder(), s6_0ImmDecoder(), s8ImmDecoder(), SimplifyShortImmForm(), SimplifyShortMoveForm(), translateDstIndex(), translateFPRegister(), translateImmediate(), translateMaskRegister(), translateRegister(), translateRMMemory(), translateSrcIndex(), llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand(), and llvm::MCExternalSymbolizer::tryAddingSymbolicOperand().

iterator llvm::MCInst::begin ( )
inline
const_iterator llvm::MCInst::begin ( ) const
inline

Definition at line 176 of file MCInst.h.

void llvm::MCInst::clear ( )
inline
void MCInst::dump ( ) const

Definition at line 67 of file MCInst.cpp.

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

Referenced by llvm::HexagonMCShuffler::reshuffleTo().

void MCInst::dump_pretty ( raw_ostream OS,
const MCInstPrinter Printer = nullptr,
StringRef  Separator = " " 
) const

Dump the MCInst as prettily as possible using the additional MC structures, if given.

Operators are separated by the Separator string.

Definition at line 51 of file MCInst.cpp.

References getNumOperands(), getOpcode(), llvm::MCInstPrinter::getOpcodeName(), getOperand(), and llvm::MCOperand::print().

Referenced by llvm::MCFragment::dump().

iterator llvm::MCInst::end ( )
inline
const_iterator llvm::MCInst::end ( ) const
inline

Definition at line 178 of file MCInst.h.

void llvm::MCInst::erase ( iterator  I)
inline

Definition at line 173 of file MCInst.h.

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

SMLoc llvm::MCInst::getLoc ( ) const
inline

Definition at line 162 of file MCInst.h.

Referenced by getBranchTargetOpValue().

unsigned llvm::MCInst::getNumOperands ( ) const
inline
unsigned llvm::MCInst::getOpcode ( ) const
inline

Definition at line 159 of file MCInst.h.

Referenced by AddThumb1SBit(), checkDecodedInstruction(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddSubERegInstruction(), DecodeArmMOVTWInstruction(), DecodeCopMemInstruction(), DecodeExclusiveLdStInstruction(), DecodeLogicalImmInstruction(), DecodeMem(), DecodeMemMMImm12(), DecodeMemMMImm4(), DecodeMemMultipleWritebackInstruction(), decodeMemRIOperands(), decodeMemRIXOperands(), DecodeModImmInstruction(), DecodeMoveImmInstruction(), DecodeMSA128Mem(), DecodeMSRMask(), DecodeNEONModImmInstruction(), DecodePairLdStInstruction(), DecodePCRelLabel19(), DecodePredicateOperand(), DecodeRegListOperand(), DecodeSignedLdStInstruction(), DecodeSpecial3LlSc(), DecodeT2AddrModeImm12(), DecodeT2AddrModeImm8(), DecodeT2AddrModeSOReg(), DecodeT2LdStPre(), DecodeT2LoadImm12(), DecodeT2LoadImm8(), DecodeT2LoadLabel(), DecodeT2LoadShift(), DecodeT2LoadT(), DecodeT2MOVTWInstruction(), DecodeTBLInstruction(), DecodeThreeAddrSRegInstruction(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPReg(), DecodeUnsignedLdStInstruction(), DecodeVLD1DupInstruction(), DecodeVLD2DupInstruction(), DecodeVLDInstruction(), DecodeVSTInstruction(), llvm::HexagonMCInstrInfo::deriveSubInst(), dump_pretty(), llvm::EmitAnyX86InstComments(), llvm::AsmPrinter::EmitFunctionBody(), llvm::HexagonMCELFStreamer::EmitInstruction(), llvm::HexagonMCCodeEmitter::EncodeSingleInstruction(), llvm::MCInstrAnalysis::evaluateBranch(), llvm::HexagonMCInstrInfo::getDesc(), llvm::HexagonMCInstrInfo::getDuplexCandidateGroup(), llvm::HexagonMCInstrInfo::getDuplexPossibilties(), getItineraryLatency(), getLatency(), llvm::HexagonMCInstrInfo::getName(), getZeroExtensionTypes(), llvm::HexagonLowerToMC(), instIsBreakpoint(), llvm::MCInstrAnalysis::isBranch(), llvm::HexagonMCInstrInfo::isBundle(), llvm::MCInstrAnalysis::isCall(), llvm::MCInstrAnalysis::isConditionalBranch(), llvm::HexagonMCInstrInfo::isImmext(), llvm::MCInstrAnalysis::isIndirectBranch(), llvm::HexagonMCInstrInfo::isOrderedDuplexPair(), llvm::MCInstrAnalysis::isReturn(), llvm::MCInstrAnalysis::isTerminator(), llvm::MCInstrAnalysis::isUnconditionalBranch(), LowerDextDins(), LowerLargeShift(), print(), llvm::AArch64InstPrinter::printBarrierOption(), llvm::SparcInstPrinter::printCCOperand(), llvm::HexagonInstPrinter::printExtBrtarget(), llvm::HexagonInstPrinter::printExtOperand(), llvm::ARMInstPrinter::printInst(), llvm::AArch64InstPrinter::printInst(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::MipsInstPrinter::printInst(), llvm::AArch64AppleInstPrinter::printInst(), llvm::ARMInstPrinter::printModImmOperand(), llvm::ARMInstPrinter::printMSRMaskOperand(), llvm::SparcInstPrinter::printSparcAliasInstr(), llvm::AArch64InstPrinter::printSysAlias(), SimplifyMOVSX(), llvm::HexagonMCInstrInfo::subInstWouldBeExtended(), translateImmediate(), translateInstruction(), translateRMMemory(), llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand(), and llvm::HexagonMCInstrInfo::tryCompound().

const MCOperand& llvm::MCInst::getOperand ( unsigned  i) const
inline

Definition at line 164 of file MCInst.h.

Referenced by addOps(), checkLowRegisterList(), llvm::HexagonMCInstrInfo::clampExtended(), convert16i16to16ri8(), convert32i32to32ri8(), convert64i32to64ri8(), convertToSExti8(), DecodeInsSize(), DecodeMoveImmInstruction(), DecodeRegListOperand(), llvm::HexagonMCInstrInfo::deriveSubInst(), DetermineREXPrefix(), dump_pretty(), llvm::EmitAnyX86InstComments(), llvm::HexagonMCELFStreamer::EmitInstruction(), llvm::MipsELFStreamer::EmitInstruction(), llvm::MCStreamer::EmitInstruction(), llvm::HexagonMCELFStreamer::EmitSymbol(), llvm::HexagonMCCodeEmitter::EncodeSingleInstruction(), llvm::MCInstrAnalysis::evaluateBranch(), llvm::HexagonMCInstrInfo::extenderForIndex(), getARMLoadDeprecationInfo(), getARMStoreDeprecationInfo(), getBranchTargetOpValue(), llvm::HexagonMCInstrInfo::getDuplexCandidateGroup(), llvm::HexagonMCInstrInfo::getDuplexPossibilties(), llvm::HexagonMCInstrInfo::getExtendableOperand(), getITDeprecationInfo(), getMCRDeprecationInfo(), llvm::HexagonMCInstrInfo::getNewValueOperand(), HasConditionalBranch(), llvm::HexagonMCInstrInfo::instruction(), Is32BitMemOperand(), Is64BitMemOperand(), llvm::HexagonMCInstrInfo::isBundle(), llvm::HexagonMCInstrInfo::isConstExtended(), llvm::HexagonMCInstrInfo::isInnerLoop(), llvm::HexagonMCInstrInfo::isOrderedDuplexPair(), llvm::HexagonMCInstrInfo::isOuterLoop(), isReg(), listContainsReg(), LowerDextDins(), LowerLargeShift(), llvm::MCInstrDesc::mayAffectControlFlow(), print(), llvm::PPCInstPrinter::printAbsBranchOperand(), llvm::ARMInstPrinter::printAddrMode2OffsetOperand(), llvm::ARMInstPrinter::printAddrMode2Operand(), llvm::ARMInstPrinter::printAddrMode3OffsetOperand(), llvm::ARMInstPrinter::printAddrMode3Operand(), llvm::ARMInstPrinter::printAddrMode5Operand(), llvm::ARMInstPrinter::printAddrMode6OffsetOperand(), llvm::ARMInstPrinter::printAddrMode6Operand(), llvm::ARMInstPrinter::printAddrMode7Operand(), llvm::ARMInstPrinter::printAddrModeImm12Operand(), llvm::ARMInstPrinter::printAddrModeTBB(), llvm::ARMInstPrinter::printAddrModeTBH(), llvm::AArch64InstPrinter::printAddSubImm(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::AArch64InstPrinter::printAdrpLabel(), llvm::AArch64InstPrinter::printAlignedLabel(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::AArch64InstPrinter::printAMIndexedWB(), llvm::AArch64InstPrinter::printAMNoIndex(), llvm::AArch64InstPrinter::printArithExtend(), llvm::ARMInstPrinter::printBankedRegOperand(), llvm::AArch64InstPrinter::printBarrierOption(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::PPCInstPrinter::printBranchOperand(), llvm::MSP430InstPrinter::printCCOperand(), llvm::SparcInstPrinter::printCCOperand(), llvm::ARMInstPrinter::printCImmediate(), llvm::NVPTXInstPrinter::printCmpMode(), llvm::AArch64InstPrinter::printCondCode(), llvm::HexagonInstPrinter::printConstantPool(), llvm::ARMInstPrinter::printCoprocOptionImm(), llvm::ARMInstPrinter::printCPSIFlag(), llvm::ARMInstPrinter::printCPSIMod(), llvm::PPCInstPrinter::printcrbitm(), llvm::NVPTXInstPrinter::printCvtMode(), llvm::HexagonInstPrinter::printExtBrtarget(), llvm::AArch64InstPrinter::printExtendedRegister(), llvm::HexagonInstPrinter::printExtOperand(), llvm::ARMInstPrinter::printFBits16(), llvm::ARMInstPrinter::printFBits32(), llvm::AArch64InstPrinter::printFPImmOperand(), llvm::ARMInstPrinter::printFPImmOperand(), llvm::HexagonInstPrinter::printFrameIndexOperand(), llvm::HexagonInstPrinter::printGlobalOperand(), llvm::ARMInstPrinter::printGPRPairOperand(), llvm::AArch64InstPrinter::printGPRSeqPairsClassOperand(), 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::HexagonInstPrinter::printInst(), llvm::AArch64AppleInstPrinter::printInst(), llvm::ARMInstPrinter::printInstSyncBOption(), llvm::AArch64InstPrinter::printInverseCondCode(), llvm::HexagonInstPrinter::printJumpTable(), 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::PPCInstPrinter::printMemRegImm(), llvm::PPCInstPrinter::printMemRegReg(), 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::ARMInstPrinter::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::ARMInstPrinter::printPImmediate(), llvm::ARMInstPrinter::printPKHASRShiftImm(), llvm::ARMInstPrinter::printPKHLSLShiftImm(), llvm::ARMInstPrinter::printPostIdxImm8Operand(), llvm::ARMInstPrinter::printPostIdxImm8s4Operand(), llvm::ARMInstPrinter::printPostIdxRegOperand(), llvm::AArch64InstPrinter::printPostIncOperand(), llvm::PPCInstPrinter::printPredicateOperand(), llvm::ARMInstPrinter::printPredicateOperand(), llvm::AArch64InstPrinter::printPrefetchOp(), llvm::NVPTXInstPrinter::printProtoIdent(), llvm::ARMInstPrinter::printRegisterList(), llvm::ARMInstPrinter::printRotImmOperand(), llvm::X86IntelInstPrinter::printRoundingControl(), llvm::X86ATTInstPrinter::printRoundingControl(), llvm::PPCInstPrinter::printS16ImmOperand(), llvm::PPCInstPrinter::printS5ImmOperand(), llvm::ARMInstPrinter::printSBitModifierOperand(), llvm::ARMInstPrinter::printSetendOperand(), llvm::AArch64InstPrinter::printShiftedRegister(), llvm::AArch64InstPrinter::printShifter(), llvm::ARMInstPrinter::printShiftImmOperand(), llvm::AArch64InstPrinter::printSIMDType10Operand(), printSImmOperand(), llvm::ARMInstPrinter::printSORegImmOperand(), llvm::ARMInstPrinter::printSORegRegOperand(), llvm::SparcInstPrinter::printSparcAliasInstr(), llvm::X86IntelInstPrinter::printSrcIdx(), llvm::X86ATTInstPrinter::printSrcIdx(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::X86IntelInstPrinter::printSSEAVXCC(), llvm::X86ATTInstPrinter::printSSEAVXCC(), llvm::HexagonInstPrinter::printSymbol(), 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::printThumbAddrModeRROperand(), llvm::ARMInstPrinter::printThumbITMask(), llvm::ARMInstPrinter::printThumbLdrLabelOperand(), llvm::ARMInstPrinter::printThumbS4ImmOperand(), llvm::ARMInstPrinter::printThumbSRImm(), llvm::PPCInstPrinter::printTLSCall(), 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::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(), llvm::X86IntelInstPrinter::printXOPCC(), llvm::X86ATTInstPrinter::printXOPCC(), llvm::HexagonMCInstrInfo::replaceDuplex(), llvm::HexagonMCInstrInfo::setInnerLoop(), llvm::HexagonMCInstrInfo::setOuterLoop(), SimplifyMOVSX(), SimplifyShortImmForm(), SimplifyShortMoveForm(), llvm::HexagonMCInstrInfo::subInstWouldBeExtended(), and llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand().

MCOperand& llvm::MCInst::getOperand ( unsigned  i)
inline

Definition at line 165 of file MCInst.h.

iterator llvm::MCInst::insert ( iterator  I,
const MCOperand Op 
)
inline

Definition at line 179 of file MCInst.h.

Referenced by AddThumb1SBit(), decodeMemRIOperands(), and decodeMemRIXOperands().

void MCInst::print ( raw_ostream OS) const

Definition at line 42 of file MCInst.cpp.

References getNumOperands(), getOpcode(), getOperand(), and llvm::MCOperand::print().

Referenced by dump(), and llvm::operator<<().

void llvm::MCInst::setLoc ( SMLoc  loc)
inline

Definition at line 161 of file MCInst.h.

void llvm::MCInst::setOpcode ( unsigned  Op)
inline

Definition at line 158 of file MCInst.h.

Referenced by convertToSExti8(), Decode2OpInstructionFail(), DecodeAddiGroupBranch(), DecodeBgtzGroupBranch(), DecodeBgtzlGroupBranch(), DecodeBlezGroupBranch(), DecodeBlezlGroupBranch(), DecodeBranchImmInstruction(), DecodeCPSInstruction(), DecodeDaddiGroupBranch(), DecodeL2OpInstructionFail(), DecodeL5RInstructionFail(), DecodeMemMultipleWritebackInstruction(), DecodeSETPANInstruction(), DecodeT2CPSInstruction(), DecodeT2LdStPre(), DecodeT2LoadImm12(), DecodeT2LoadImm8(), DecodeT2LoadLabel(), DecodeT2LoadShift(), DecodeT2LoadT(), DecodeThumb2BCCInstruction(), DecodeVCVTD(), DecodeVCVTQ(), llvm::HexagonMCInstrInfo::deriveDuplex(), llvm::HexagonMCInstrInfo::deriveSubInst(), EmitBinary(), EmitCall(), llvm::MipsTargetELFStreamer::emitDirectiveCpLoad(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), llvm::HexagonMCELFStreamer::EmitInstruction(), llvm::HexagonAsmPrinter::EmitInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), EmitSETHI(), llvm::Thumb1InstrInfo::getNoopForMachoTarget(), llvm::ARMInstrInfo::getNoopForMachoTarget(), llvm::Thumb2InstrInfo::getNoopForMachoTarget(), llvm::AArch64InstrInfo::getNoopForMachoTarget(), llvm::PPCInstrInfo::getNoopForMachoTarget(), llvm::X86InstrInfo::getNoopForMachoTarget(), llvm::X86InstrInfo::getTrap(), llvm::X86InstrInfo::getUnconditionalBranch(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::XCoreMCInstLower::Lower(), llvm::SystemZMCInstLower::lower(), llvm::MSP430MCInstLower::Lower(), llvm::MipsMCInstLower::Lower(), llvm::BPFMCInstLower::Lower(), llvm::AArch64MCInstLower::Lower(), llvm::LowerARMMachineInstrToMCInst(), LowerDextDins(), LowerLargeShift(), llvm::LowerPPCMachineInstrToMCInst(), llvm::LowerSparcMachineInstrToMCInst(), llvm::MCInstBuilder::MCInstBuilder(), llvm::HexagonMCInstrInfo::padEndloop(), llvm::ARMInstPrinter::printInst(), llvm::HexagonInstPrinter::printInst(), SimplifyMOVSX(), SimplifyShortImmForm(), SimplifyShortMoveForm(), translateImmediate(), and translateInstruction().

size_t llvm::MCInst::size ( ) const
inline

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