LLVM API Documentation
#include <MCInst.h>

Public Types | |
| typedef SmallVectorImpl < MCOperand >::iterator | iterator |
Public Member Functions | |
| MCInst () | |
| void | setOpcode (unsigned Op) |
| unsigned | getOpcode () const |
| void | setLoc (SMLoc loc) |
| SMLoc | getLoc () const |
| const MCOperand & | getOperand (unsigned i) const |
| MCOperand & | getOperand (unsigned i) |
| unsigned | getNumOperands () const |
| void | addOperand (const MCOperand &Op) |
| void | clear () |
| size_t | size () |
| iterator | begin () |
| iterator | end () |
| iterator | insert (iterator I, const MCOperand &Op) |
| void | print (raw_ostream &OS, const MCAsmInfo *MAI) const |
| void | dump () const |
| void | dump_pretty (raw_ostream &OS, const MCAsmInfo *MAI=0, const MCInstPrinter *Printer=0, StringRef Separator=" ") const |
Dump the MCInst as prettily as possible using the additional MC structures, if given. Operators are separated by the Separator string. | |
MCInst - Instances of this class represent a single low-level machine instruction.
| void llvm::MCInst::addOperand | ( | const MCOperand & | Op | ) | [inline] |
Definition at line 167 of file MCInst.h.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by llvm::MCInstBuilder::addExpr(), llvm::MCInstBuilder::addFPImm(), llvm::MCInstBuilder::addImm(), llvm::MCInstBuilder::addInst(), llvm::MCInstBuilder::addReg(), convertToSExti8(), Decode2RImmInstruction(), Decode2RUSInstruction(), Decode32BitShiftOperand(), Decode3RImmInstruction(), DecodeACRegsDSPRegisterClass(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeAddrMode5Operand(), DecodeAddrMode6Operand(), DecodeAddrModeImm12Operand(), DecodeAddrRegExtendOperand(), DecodeAFGR64RegisterClass(), DecodeArmMOVTWInstruction(), DecodeBC1(), decodeBDAddr12Operand(), decodeBDAddr20Operand(), decodeBDXAddr12Operand(), decodeBDXAddr20Operand(), DecodeBitfield32ImmOperand(), DecodeBitfieldInstruction(), DecodeBitfieldMaskOperand(), DecodeBitpOperand(), DecodeBranchImmInstruction(), DecodeBranchTarget(), DecodeCCOutOperand(), DecodeCCRRegisterClass(), DecodeCondCode(), DecodeCopMemInstruction(), DecodeCoprocessor(), DecodeCPSInstruction(), DecodeCPU64RegsRegisterClass(), DecodeCPURegsRegisterClass(), DecodeCVT32FixedPosOperand(), DecodeDPairRegisterClass(), DecodeDPairSpacedRegisterClass(), DecodeDPRRegisterClass(), DecodeExtSize(), DecodeFGR32RegisterClass(), DecodeFGR64RegisterClass(), DecodeFMem(), DecodeFMOVLaneInstruction(), DecodeFPR128RegisterClass(), DecodeFPR16RegisterClass(), DecodeFPR32RegisterClass(), DecodeFPR64RegisterClass(), DecodeFPR8RegisterClass(), DecodeFPZeroOperand(), DecodeGPR32RegisterClass(), DecodeGPR32wspRegisterClass(), DecodeGPR64RegisterClass(), DecodeGPR64xspRegisterClass(), DecodeGPRRegisterClass(), DecodeGPRwithAPSRRegisterClass(), DecodeGRRegsRegisterClass(), DecodeHIRegsDSPRegisterClass(), DecodeHWRegs64RegisterClass(), DecodeHWRegsRegisterClass(), DecodeImm0_4(), DecodeInsSize(), DecodeIT(), DecodeJumpTarget(), DecodeL2RUSInstruction(), DecodeLDSTPairInstruction(), DecodeLogicalImmOperand(), DecodeLORegsDSPRegisterClass(), DecodeMem(), DecodeMemBarrierOption(), DecodeMemMultipleWritebackInstruction(), DecodeMoveWideImmOperand(), DecodeMRRC2(), DecodeMSRMask(), DecodeNamedImmOperand(), DecodeNegImmOperand(), DecodeNEONModImmInstruction(), decodePCDBLOperand(), DecodePostIdxReg(), DecodePredicateOperand(), DecodeQPRRegisterClass(), DecodeRegExtendOperand(), decodeRegisterClass(), DecodeRFEInstruction(), DecodeRRegsRegisterClass(), DecodeRUSInstruction(), DecodeShiftRight16Imm(), DecodeShiftRight32Imm(), DecodeShiftRight64Imm(), DecodeShiftRight8Imm(), DecodeSimm16(), decodeSImmOperand(), DecodeSingleIndexedInstruction(), DecodeSOImmOperand(), DecodeSORegImmOperand(), DecodeSORegMemOperand(), DecodeSORegRegOperand(), DecodeSPRRegisterClass(), DecodeSysRegOperand(), DecodeT2AddrModeImm0_1020s4(), DecodeT2AddrModeImm12(), DecodeT2AddrModeSOReg(), DecodeT2Adr(), DecodeT2BInstruction(), DecodeT2BROperand(), DecodeT2CPSInstruction(), DecodeT2Imm8(), DecodeT2Imm8S4(), DecodeT2LoadShift(), DecodeT2MOVTWInstruction(), DecodeT2ShifterImmOperand(), DecodeT2SOImm(), DecodetcGPRRegisterClass(), DecodeThumbAddrModeIS(), DecodeThumbAddrModePC(), DecodeThumbAddrModeSP(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPImm(), DecodeThumbAddSPReg(), DecodeThumbBCCTargetOperand(), DecodeThumbBLTargetOperand(), DecodeThumbBROperand(), DecodeThumbCmpBROperand(), DecodeThumbCPS(), decodeUImmOperand(), DecodeVCVTD(), DecodeVCVTQ(), DecodeVLD1DupInstruction(), DecodeVLD1LN(), DecodeVLD2DupInstruction(), DecodeVLD2LN(), DecodeVLD3DupInstruction(), DecodeVLD3LN(), DecodeVLD4DupInstruction(), DecodeVLD4LN(), DecodeVLDInstruction(), DecodeVPR128RegisterClass(), DecodeVSHLMaxInstruction(), DecodeVST1LN(), DecodeVST2LN(), DecodeVST3LN(), DecodeVST4LN(), DecodeVSTInstruction(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::MBlazeDisassembler::getInstruction(), llvm::Thumb1InstrInfo::getNoopForMachoTarget(), llvm::Thumb2InstrInfo::getNoopForMachoTarget(), llvm::ARMInstrInfo::getNoopForMachoTarget(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::XCoreMCInstLower::Lower(), llvm::MSP430MCInstLower::Lower(), llvm::MBlazeMCInstLower::Lower(), llvm::MipsMCInstLower::Lower(), llvm::SystemZMCInstLower::lower(), llvm::LowerAArch64MachineInstrToMCInst(), llvm::LowerARMMachineInstrToMCInst(), llvm::LowerPPCMachineInstrToMCInst(), LowerTlsAddr(), LowerUnaryToTwoAddr(), llvm::ARMInstPrinter::printInst(), SimplifyShortImmForm(), SimplifyShortMoveForm(), translateFPRegister(), translateImmediate(), translateRegister(), translateRMMemory(), and tryAddingSymbolicOperand().
| iterator llvm::MCInst::begin | ( | ) | [inline] |
Definition at line 175 of file MCInst.h.
References llvm::SmallVectorTemplateCommon< T, typename >::begin().
Referenced by AddThumb1SBit().
| void llvm::MCInst::clear | ( | ) | [inline] |
Definition at line 171 of file MCInst.h.
References llvm::SmallVectorImpl< T >::clear().
Referenced by DecodeL5RInstructionFail().
| void MCInst::dump | ( | ) | const |
Definition at line 68 of file MCInst.cpp.
References llvm::dbgs(), and print().
| void MCInst::dump_pretty | ( | raw_ostream & | OS, |
| const MCAsmInfo * | MAI = 0, |
||
| const MCInstPrinter * | Printer = 0, |
||
| 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] |
Definition at line 176 of file MCInst.h.
References llvm::SmallVectorTemplateCommon< T, typename >::end().
Referenced by AddThumb1SBit(), and DecodeRegListOperand().
| SMLoc llvm::MCInst::getLoc | ( | ) | const [inline] |
Definition at line 161 of file MCInst.h.
Referenced by getBranchTargetOpValue().
| unsigned llvm::MCInst::getNumOperands | ( | ) | const [inline] |
Definition at line 165 of file MCInst.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by checkLowRegisterList(), DetermineREXPrefix(), dump_pretty(), llvm::EmitAnyX86InstComments(), llvm::MCObjectStreamer::EmitInstruction(), llvm::MCInstrAnalysis::evaluateBranch(), HasConditionalBranch(), listContainsReg(), llvm::Mips::LowerDextDins(), llvm::Mips::LowerLargeShift(), print(), llvm::ARMInstPrinter::printInst(), llvm::ARMInstPrinter::printRegisterList(), SimplifyShortImmForm(), and SimplifyShortMoveForm().
| unsigned llvm::MCInst::getOpcode | ( | ) | const [inline] |
Definition at line 158 of file MCInst.h.
Referenced by AddThumb1SBit(), DecodeAddrMode2IdxInstruction(), DecodeAddrMode3Instruction(), DecodeArmMOVTWInstruction(), DecodeCopMemInstruction(), DecodeMem(), DecodeMemMultipleWritebackInstruction(), DecodeNEONModImmInstruction(), DecodePredicateOperand(), DecodeRegListOperand(), DecodeT2AddrModeImm8(), DecodeT2LoadShift(), DecodeT2MOVTWInstruction(), DecodeTBLInstruction(), DecodeThumbAddSpecialReg(), DecodeThumbAddSPReg(), DecodeVLD1DupInstruction(), DecodeVLD2DupInstruction(), DecodeVLDInstruction(), DecodeVSTInstruction(), dump_pretty(), llvm::EmitAnyX86InstComments(), llvm::AsmPrinter::EmitFunctionBody(), llvm::MCInstrAnalysis::evaluateBranch(), llvm::MCInstrAnalysis::isBranch(), llvm::MCInstrAnalysis::isCall(), llvm::MCInstrAnalysis::isConditionalBranch(), llvm::MCInstrAnalysis::isIndirectBranch(), llvm::MCInstrAnalysis::isReturn(), llvm::MCInstrAnalysis::isUnconditionalBranch(), llvm::Mips::LowerDextDins(), llvm::Mips::LowerLargeShift(), print(), llvm::ARMInstPrinter::printInst(), llvm::X86ATTInstPrinter::printInst(), llvm::X86IntelInstPrinter::printInst(), llvm::HexagonInstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::MipsInstPrinter::printInst(), llvm::AArch64InstPrinter::printInst(), llvm::ARMInstPrinter::printMSRMaskOperand(), translateImmediate(), and translateRMMemory().
Definition at line 163 of file MCInst.h.
Referenced by checkLowRegisterList(), convert16i16to16ri8(), convert32i32to32ri8(), convert64i32to64ri8(), convertToSExti8(), DecodeInsSize(), DecodeRegListOperand(), DetermineREXPrefix(), dump_pretty(), llvm::EmitAnyX86InstComments(), llvm::MCObjectStreamer::EmitInstruction(), llvm::MCInstrAnalysis::evaluateBranch(), getBranchTargetOpValue(), llvm::HexagonMCInst::getNewValue(), HasConditionalBranch(), llvm::MCInstrDesc::hasDefOfPhysReg(), Is16BitMemOperand(), Is32BitMemOperand(), Is64BitMemOperand(), llvm::HexagonMCInst::isConstExtended(), listContainsReg(), lower_lea64_32mem(), lower_subreg32(), llvm::Mips::LowerDextDins(), llvm::Mips::LowerLargeShift(), LowerUnaryToTwoAddr(), print(), llvm::PPCInstPrinter::printAbsAddrOperand(), 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::printAddrRegExtendOperand(), llvm::AArch64InstPrinter::printAddSubImmLSL0Operand(), llvm::ARMInstPrinter::printAdrLabelOperand(), llvm::ARMInstPrinter::printAM2PreOrOffsetIndexOp(), llvm::ARMInstPrinter::printAM3PostIndexOp(), llvm::ARMInstPrinter::printAM3PreOrOffsetIndexOp(), llvm::X86IntelInstPrinter::printAVXCC(), llvm::X86ATTInstPrinter::printAVXCC(), llvm::AArch64InstPrinter::printBareImmOperand(), llvm::AArch64InstPrinter::printBFILSBOperand(), llvm::AArch64InstPrinter::printBFIWidthOperand(), llvm::AArch64InstPrinter::printBFXWidthOperand(), llvm::ARMInstPrinter::printBitfieldInvMaskImmOperand(), llvm::PPCInstPrinter::printBranchOperand(), llvm::MSP430InstPrinter::printCCOperand(), llvm::ARMInstPrinter::printCImmediate(), llvm::AArch64InstPrinter::printCondCodeOperand(), llvm::HexagonInstPrinter::printConstantPool(), llvm::ARMInstPrinter::printCoprocOptionImm(), llvm::ARMInstPrinter::printCPSIFlag(), llvm::ARMInstPrinter::printCPSIMod(), llvm::MipsInstPrinter::printCPURegs(), llvm::PPCInstPrinter::printcrbitm(), llvm::AArch64InstPrinter::printCRxOperand(), llvm::AArch64InstPrinter::printCVTFixedPosOperand(), llvm::ARMInstPrinter::printFBits16(), llvm::ARMInstPrinter::printFBits32(), llvm::AArch64InstPrinter::printFPImmOperand(), llvm::ARMInstPrinter::printFPImmOperand(), llvm::HexagonInstPrinter::printFrameIndexOperand(), llvm::MBlazeInstPrinter::printFSLImm(), llvm::HexagonInstPrinter::printGlobalOperand(), llvm::ARMInstPrinter::printGPRPairOperand(), llvm::HexagonInstPrinter::printImmOperand(), llvm::ARMInstPrinter::printImmPlusOneOperand(), llvm::ARMInstPrinter::printInst(), llvm::PPCInstPrinter::printInst(), llvm::AArch64InstPrinter::printInst(), llvm::HexagonInstPrinter::printJumpTable(), llvm::AArch64InstPrinter::printLabelOperand(), llvm::ARMInstPrinter::printLdStmModeOperand(), llvm::AArch64InstPrinter::printLogicalImmOperand(), llvm::ARMInstPrinter::printMandatoryPredicateOperand(), llvm::ARMInstPrinter::printMemBOption(), llvm::X86IntelInstPrinter::printMemReference(), llvm::X86ATTInstPrinter::printMemReference(), llvm::PPCInstPrinter::printMemRegImm(), llvm::PPCInstPrinter::printMemRegReg(), llvm::HexagonInstPrinter::printMEMriOperand(), llvm::AArch64InstPrinter::printMoveWideImmOperand(), llvm::ARMInstPrinter::printMSRMaskOperand(), llvm::AArch64InstPrinter::printNamedImmOperand(), llvm::HexagonInstPrinter::printNegImmOperand(), llvm::ARMInstPrinter::printNEONModImmOperand(), llvm::ARMInstPrinter::printNoHashImmediate(), llvm::AArch64InstPrinter::printOffsetSImm9Operand(), llvm::AArch64InstPrinter::printOffsetUImm12Operand(), llvm::MSP430InstPrinter::printOperand(), llvm::MBlazeInstPrinter::printOperand(), llvm::X86IntelInstPrinter::printOperand(), llvm::HexagonInstPrinter::printOperand(), llvm::ARMInstPrinter::printOperand(), llvm::X86ATTInstPrinter::printOperand(), llvm::PPCInstPrinter::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::printRegExtendOperand(), llvm::ARMInstPrinter::printRegisterList(), llvm::ARMInstPrinter::printRotImmOperand(), llvm::PPCInstPrinter::printS16ImmOperand(), llvm::PPCInstPrinter::printS5ImmOperand(), llvm::ARMInstPrinter::printSBitModifierOperand(), llvm::ARMInstPrinter::printSetendOperand(), llvm::ARMInstPrinter::printShiftImmOperand(), llvm::AArch64InstPrinter::printShiftOperand(), llvm::AArch64InstPrinter::printSImm7ScaledOperand(), llvm::ARMInstPrinter::printSORegImmOperand(), llvm::ARMInstPrinter::printSORegRegOperand(), llvm::MSP430InstPrinter::printSrcMemOperand(), llvm::X86IntelInstPrinter::printSSECC(), llvm::X86ATTInstPrinter::printSSECC(), llvm::HexagonInstPrinter::printSymbol(), llvm::PPCInstPrinter::printSymbolHi(), llvm::PPCInstPrinter::printSymbolLo(), llvm::AArch64InstPrinter::printSysRegOperand(), 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::printU16ImmOperand(), llvm::PPCInstPrinter::printU5ImmOperand(), llvm::PPCInstPrinter::printU6ImmOperand(), llvm::MBlazeInstPrinter::printUnsignedImm(), llvm::HexagonInstPrinter::printUnsignedImmOperand(), llvm::ARMInstPrinter::printVectorIndex(), 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(), SimplifyShortImmForm(), and SimplifyShortMoveForm().
Definition at line 177 of file MCInst.h.
References llvm::SmallVectorImpl< T >::insert().
Referenced by AddThumb1SBit().
| void MCInst::print | ( | raw_ostream & | OS, |
| const MCAsmInfo * | MAI | ||
| ) | 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::setOpcode | ( | unsigned | Op | ) | [inline] |
Definition at line 157 of file MCInst.h.
Referenced by convertToSExti8(), Decode2OpInstructionFail(), DecodeBitfieldInstruction(), DecodeBranchImmInstruction(), DecodeCPSInstruction(), DecodeL2OpInstructionFail(), DecodeL5RInstructionFail(), DecodeMemMultipleWritebackInstruction(), DecodeT2CPSInstruction(), DecodeT2LoadShift(), DecodeThumb2BCCInstruction(), DecodeVCVTD(), DecodeVCVTQ(), llvm::ARMAsmPrinter::EmitInstruction(), llvm::MBlazeDisassembler::getInstruction(), llvm::Thumb1InstrInfo::getNoopForMachoTarget(), llvm::Thumb2InstrInfo::getNoopForMachoTarget(), llvm::ARMInstrInfo::getNoopForMachoTarget(), llvm::X86InstrInfo::getNoopForMachoTarget(), llvm::HexagonLowerToMC(), llvm::AMDGPUMCInstLower::lower(), llvm::XCoreMCInstLower::Lower(), llvm::MBlazeMCInstLower::Lower(), llvm::MSP430MCInstLower::Lower(), llvm::MipsMCInstLower::Lower(), llvm::SystemZMCInstLower::lower(), llvm::LowerAArch64MachineInstrToMCInst(), llvm::LowerARMMachineInstrToMCInst(), llvm::Mips::LowerDextDins(), llvm::Mips::LowerLargeShift(), llvm::LowerPPCMachineInstrToMCInst(), LowerSubReg32_Op0(), LowerTlsAddr(), LowerUnaryToTwoAddr(), llvm::MCInstBuilder::MCInstBuilder(), llvm::ARMInstPrinter::printInst(), llvm::HexagonInstPrinter::printInst(), SimplifyShortImmForm(), SimplifyShortMoveForm(), and translateInstruction().
| size_t llvm::MCInst::size | ( | ) | [inline] |
Definition at line 172 of file MCInst.h.
References llvm::SmallVectorTemplateCommon< T, typename >::size().