LLVM API Documentation

Public Types | Public Member Functions
llvm::MCInst Class Reference

#include <MCInst.h>

Inheritance diagram for llvm::MCInst:
Inheritance graph
[legend]

List of all members.

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 MCOperandgetOperand (unsigned i) const
MCOperandgetOperand (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.

Detailed Description

MCInst - 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 174 of file MCInst.h.


Constructor & Destructor Documentation

llvm::MCInst::MCInst ( ) [inline]

Definition at line 155 of file MCInst.h.


Member Function Documentation

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]
SMLoc llvm::MCInst::getLoc ( ) const [inline]

Definition at line 161 of file MCInst.h.

Referenced by getBranchTargetOpValue().

unsigned llvm::MCInst::getNumOperands ( ) const [inline]
unsigned llvm::MCInst::getOpcode ( ) const [inline]
const MCOperand& llvm::MCInst::getOperand ( unsigned  i) const [inline]

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().

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

Definition at line 164 of file MCInst.h.

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

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::setLoc ( SMLoc  loc) [inline]

Definition at line 160 of file MCInst.h.

void llvm::MCInst::setOpcode ( unsigned  Op) [inline]
size_t llvm::MCInst::size ( ) [inline]

Definition at line 172 of file MCInst.h.

References llvm::SmallVectorTemplateCommon< T, typename >::size().


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