LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::MachineInstrBuilder Class Reference

#include "llvm/CodeGen/MachineInstrBuilder.h"

Public Member Functions

 MachineInstrBuilder ()=default
 
 MachineInstrBuilder (MachineFunction &F, MachineInstr *I)
 Create a MachineInstrBuilder for manipulating an existing instruction. More...
 
 MachineInstrBuilder (MachineFunction &F, MachineBasicBlock::iterator I)
 
 operator MachineInstr * () const
 Allow automatic conversion to the machine instruction we are working on. More...
 
MachineInstroperator-> () const
 
 operator MachineBasicBlock::iterator () const
 
MachineInstrgetInstr () const
 If conversion operators fail, use this method to get the MachineInstr explicitly. More...
 
const MachineInstrBuilderaddReg (unsigned RegNo, unsigned flags=0, unsigned SubReg=0) const
 Add a new virtual register operand. More...
 
const MachineInstrBuilderaddDef (unsigned RegNo, unsigned Flags=0, unsigned SubReg=0) const
 Add a virtual register definition operand. More...
 
const MachineInstrBuilderaddUse (unsigned RegNo, unsigned Flags=0, unsigned SubReg=0) const
 Add a virtual register use operand. More...
 
const MachineInstrBuilderaddImm (int64_t Val) const
 Add a new immediate operand. More...
 
const MachineInstrBuilderaddCImm (const ConstantInt *Val) const
 
const MachineInstrBuilderaddFPImm (const ConstantFP *Val) const
 
const MachineInstrBuilderaddMBB (MachineBasicBlock *MBB, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddFrameIndex (int Idx) const
 
const MachineInstrBuilderaddConstantPoolIndex (unsigned Idx, int Offset=0, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddTargetIndex (unsigned Idx, int64_t Offset=0, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddJumpTableIndex (unsigned Idx, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddGlobalAddress (const GlobalValue *GV, int64_t Offset=0, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddExternalSymbol (const char *FnName, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddBlockAddress (const BlockAddress *BA, int64_t Offset=0, unsigned char TargetFlags=0) const
 
const MachineInstrBuilderaddRegMask (const uint32_t *Mask) const
 
const MachineInstrBuilderaddMemOperand (MachineMemOperand *MMO) const
 
const MachineInstrBuildersetMemRefs (MachineInstr::mmo_iterator b, MachineInstr::mmo_iterator e) const
 
const MachineInstrBuildersetMemRefs (std::pair< MachineInstr::mmo_iterator, unsigned > MemOperandsRef) const
 
const MachineInstrBuilderadd (const MachineOperand &MO) const
 
const MachineInstrBuilderadd (ArrayRef< MachineOperand > MOs) const
 
const MachineInstrBuilderaddMetadata (const MDNode *MD) const
 
const MachineInstrBuilderaddCFIIndex (unsigned CFIIndex) const
 
const MachineInstrBuilderaddIntrinsicID (Intrinsic::ID ID) const
 
const MachineInstrBuilderaddPredicate (CmpInst::Predicate Pred) const
 
const MachineInstrBuilderaddSym (MCSymbol *Sym, unsigned char TargetFlags=0) const
 
const MachineInstrBuildersetMIFlags (unsigned Flags) const
 
const MachineInstrBuildersetMIFlag (MachineInstr::MIFlag Flag) const
 
const MachineInstrBuilderaddDisp (const MachineOperand &Disp, int64_t off, unsigned char TargetFlags=0) const
 
const MachineInstrBuildercopyImplicitOps (const MachineInstr &OtherMI) const
 Copy all the implicit operands from OtherMI onto this one. More...
 

Detailed Description

Definition at line 58 of file MachineInstrBuilder.h.

Constructor & Destructor Documentation

◆ MachineInstrBuilder() [1/3]

llvm::MachineInstrBuilder::MachineInstrBuilder ( )
default

◆ MachineInstrBuilder() [2/3]

llvm::MachineInstrBuilder::MachineInstrBuilder ( MachineFunction F,
MachineInstr I 
)
inline

Create a MachineInstrBuilder for manipulating an existing instruction.

F must be the machine function that was used to allocate I.

Definition at line 67 of file MachineInstrBuilder.h.

◆ MachineInstrBuilder() [3/3]

llvm::MachineInstrBuilder::MachineInstrBuilder ( MachineFunction F,
MachineBasicBlock::iterator  I 
)
inline

Definition at line 68 of file MachineInstrBuilder.h.

Member Function Documentation

◆ add() [1/2]

const MachineInstrBuilder& llvm::MachineInstrBuilder::add ( const MachineOperand MO) const
inline

Definition at line 202 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand().

Referenced by addExclusiveRegPair(), llvm::addOffset(), addOperands(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::MipsInstrInfo::analyzeBranch(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), canMoveInstsAcrossMemOp(), llvm::Thumb1FrameLowering::canUseAsEpilogue(), llvm::X86InstrInfo::classifyLEAReg(), CombineCVTAToLocal(), CompareMBBNumbers(), ContainsReg(), convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::SIInstrInfo::convertNonUniformIfRegion(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), llvm::createX86FixupBWInsts(), doesNotGeneratecode(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::emitARMRegPlusImmediate(), emitClzero(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), emitIndirectDst(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitMonitor(), llvm::TargetLoweringBase::emitPatchPoint(), emitPCMPSTRI(), emitPCMPSTRM(), emitPostLd(), emitPostSt(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::emitT2RegPlusImmediate(), emitThumb2LoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), findIncDecAfter(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), for(), forceReg(), FuseInst(), FuseTwoAddrInst(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::MipsInstrInfo::genInstrWithNewOpc(), getAdjustedCmp(), getComparePred(), getCompareSourceReg(), GetDSubRegs(), getPostIndexedLoadStoreOpcode(), getUnconditionalBrDisp(), INITIALIZE_PASS(), llvm::WebAssemblyInstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::PPCInstrInfo::insertBranch(), llvm::SIInstrInfo::insertBranch(), llvm::SIInstrInfo::insertVectorSelect(), IsAnAddressOperand(), isCMOVPseudo(), isCompareZero(), isHardwareLoop(), isInRage(), isLEASimpleIncOrDec(), llvm::ARMBaseInstrInfo::isLoadFromStackSlotPostFE(), isPromotableZeroStoreInst(), isSubregOf(), llvm::SIInstrInfo::legalizeGenericOperand(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOperandsVOP2(), llvm::SIInstrInfo::legalizeOpWithMove(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::X86InstrInfo::loadRegFromAddr(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::AArch64CallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::ARMCallLowering::lowerReturn(), lowerVECTOR_SHUFFLE_VSHF(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::moveToVALU(), opcodeEmitsNoInsts(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), parseCond(), llvm::HexagonInstrInfo::PredicateInstruction(), llvm::SystemZInstrInfo::PredicateInstruction(), registerDefinedBetween(), regOverlapsSet(), llvm::X86InstrInfo::reMaterialize(), llvm::AArch64InstrInfo::removeBranch(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::rewriteT2FrameIndex(), llvm::ThumbRegisterInfo::saveScavengerRegister(), selectMergeValues(), llvm::FastISel::selectPatchpoint(), llvm::FastISel::selectStackmap(), selectUnmergeValues(), llvm::FastISel::selectXRayCustomEvent(), llvm::ARMBaseInstrInfo::setExecutionDomain(), shrinkScalarCompare(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::X86InstrInfo::storeRegToAddr(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::SystemZInstrInfo(), llvm::tryFoldSPUpdateIntoPushPop(), llvm::X86InstrInfo::unfoldMemoryOperand(), and VerifyLowRegs().

◆ add() [2/2]

const MachineInstrBuilder& llvm::MachineInstrBuilder::add ( ArrayRef< MachineOperand MOs) const
inline

Definition at line 207 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand().

◆ addBlockAddress()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addBlockAddress ( const BlockAddress BA,
int64_t  Offset = 0,
unsigned char  TargetFlags = 0 
) const
inline

◆ addCFIIndex()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addCFIIndex ( unsigned  CFIIndex) const
inline

◆ addCImm()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addCImm ( const ConstantInt Val) const
inline

◆ addConstantPoolIndex()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addConstantPoolIndex ( unsigned  Idx,
int  Offset = 0,
unsigned char  TargetFlags = 0 
) const
inline

◆ addDef()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addDef ( unsigned  RegNo,
unsigned  Flags = 0,
unsigned  SubReg = 0 
) const
inline

◆ addDisp()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addDisp ( const MachineOperand Disp,
int64_t  off,
unsigned char  TargetFlags = 0 
) const
inline

◆ addExternalSymbol()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addExternalSymbol ( const char FnName,
unsigned char  TargetFlags = 0 
) const
inline

◆ addFPImm()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addFPImm ( const ConstantFP Val) const
inline

◆ addFrameIndex()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addFrameIndex ( int  Idx) const
inline

Definition at line 135 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand(), and llvm::MachineOperand::CreateFI().

Referenced by llvm::addFrameReference(), llvm::addFullAddress(), llvm::MachineIRBuilder::buildFIDbgValue(), llvm::MachineIRBuilder::buildFrameIndex(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), countOperands(), llvm::AArch64InstrInfo::emitFrameIndexDebugValue(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), getComparePred(), getUnderlyingArgReg(), isMulPowOf2(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::BPFInstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::LanaiInstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::SIRegisterInfo::spillSGPR(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::LanaiInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), and llvm::AArch64InstrInfo::storeRegToStackSlot().

◆ addGlobalAddress()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addGlobalAddress ( const GlobalValue GV,
int64_t  Offset = 0,
unsigned char  TargetFlags = 0 
) const
inline

◆ addImm()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addImm ( int64_t  Val) const
inline

Add a new immediate operand.

Definition at line 114 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand(), and llvm::MachineOperand::CreateImm().

Referenced by addAsmInstr(), llvm::addConstantPoolReference(), llvm::addDirectMem(), addExclusiveRegPair(), llvm::addFrameReference(), llvm::addFullAddress(), llvm::addOffset(), llvm::addRegReg(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::AMDGPUInstructionSelector::AMDGPUInstructionSelector(), llvm::analyzeArguments(), AnyAliasLiveIn(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), branchMaxOffsets(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::Mips16InstrInfo::BuildAddiuSpImm(), llvm::buildDbgValueForSpill(), llvm::R600InstrInfo::buildDefaultInstruction(), llvm::MachineIRBuilder::buildExtract(), llvm::MachineIRBuilder::buildFIDbgValue(), llvm::MachineIRBuilder::buildIndirectDbgValue(), llvm::MachineIRBuilder::buildInsert(), llvm::BuildMI(), buildMUBUFOffsetLoadStore(), llvm::MachineIRBuilder::buildPtrMask(), llvm::SIInstrInfo::calculateLDSSpillAddress(), calculateSetFPREG(), canMoveInstsAcrossMemOp(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), llvm::X86InstrInfo::classifyLEAReg(), computeBytesPoppedByCalleeForSRet(), ContainsReg(), convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::LanaiInstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), countOperands(), llvm::createHexagonHardwareLoops(), llvm::HexagonFrameLowering::determineCalleeSaves(), doesNotGeneratecode(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::HexagonRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::emitARMRegPlusImmediate(), emitClzero(), llvm::InstrEmitter::EmitDbgValue(), llvm::SparcTargetLowering::emitEHSjLjLongJmp(), llvm::SparcTargetLowering::emitEHSjLjSetJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::LanaiFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AArch64InstrInfo::emitFrameIndexDebugValue(), llvm::emitFrameOffset(), emitIncrement(), emitIndirectDst(), emitIndirectSrc(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitLoadM0FromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::TargetLoweringBase::emitPatchPoint(), emitPostLd(), emitPostSt(), llvm::AVRFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::X86FrameLowering::emitSPUpdate(), llvm::emitT2RegPlusImmediate(), emitThumb1LoadConstPool(), llvm::emitThumbRegPlusImmediate(), expandLoadStackGuard(), expandNOVLXStore(), llvm::SparcInstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SparcTargetLowering::expandSelectCC(), llvm::FastISel::fastEmitInst_i(), llvm::FastISel::fastEmitInst_ri(), llvm::FastISel::fastEmitInst_rii(), llvm::FastISel::fastEmitInst_rri(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), forceReg(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::MipsInstrInfo::genInstrWithNewOpc(), getAllSGPRs(), llvm::IRTranslator::getAnalysisUsage(), getCompareCC(), getComparePred(), getImplicitScaleFactor(), getLeaOP(), getLoadStoreOffsetAlign(), getNonDebugInstr(), getPostIndexedLoadStoreOpcode(), getReassignedChan(), getSmrdOpcode(), getSubOpcode(), getTag(), getUnconditionalBrDisp(), llvm::ARMInstrInfo::getUnindexedOpcode(), getX86SSEConditionCode(), HandleVRSaveUpdate(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), llvm::SparcInstrInfo::insertBranch(), llvm::MSP430InstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::LanaiInstrInfo::insertBranch(), llvm::PPCInstrInfo::insertBranch(), llvm::SystemZInstrInfo::insertBranch(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertEQ(), InsertFPImmInst(), llvm::SIInstrInfo::insertIndirectBranch(), InsertLDR_STR(), llvm::SIInstrInfo::insertNE(), llvm::AArch64InstrInfo::insertOutlinedCall(), llvm::SystemZInstrInfo::insertSelect(), llvm::SIInstrInfo::insertSelect(), llvm::AArch64InstrInfo::insertSelect(), InsertSPImmInst(), llvm::SIInstrInfo::insertVectorSelect(), llvm::SIInstrInfo::insertWaitStates(), IsAnAddressOperand(), isCMOVPseudo(), isCopy(), isDebug(), isFpMulInstruction(), isMulPowOf2(), isPromotableZeroStoreInst(), IsSafeAndProfitableToMove(), isSExtLoad(), isSubregOf(), llvm::SIInstrInfo::legalizeOperands(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), llvm::SystemZInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::BPFInstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::LanaiInstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::ARMCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::X86CallLowering::lowerReturn(), lowerVECTOR_SHUFFLE_VSHF(), llvm::Mips16InstrInfo::makeFrame(), MakeM0Inst(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::materializeImmediate(), Mips16WhichOp8uOr16simm(), llvm::SIInstrInfo::moveToVALU(), opcodeEmitsNoInsts(), llvm::AArch64InstrInfo::optimizeCondBranch(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), parseCond(), llvm::SystemZInstrInfo::PredicateInstruction(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), profitImm(), llvm::SIInstrInfo::readlaneVGPRToSGPR(), llvm::HexagonInstrInfo::reduceLoopCount(), llvm::ARMBaseInstrInfo::reMaterialize(), llvm::AArch64InstrInfo::removeBranch(), replaceFI(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::Mips16InstrInfo::restoreFrame(), llvm::SIRegisterInfo::restoreSGPR(), llvm::X86FrameLowering::restoreWin32EHStackPointers(), llvm::FastISel::selectIntrinsicCall(), llvm::FastISel::selectStackmap(), llvm::ARMBaseInstrInfo::setExecutionDomain(), setM0ToIndexFromSGPR(), llvm::SparcFrameLowering::SparcFrameLowering(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::LanaiInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::SystemZInstrInfo(), tryOrrMovk(), trySequenceOfOnes(), tryToreplicateChunks(), UseReg(), VerifyLowRegs(), llvm::LegalizerHelper::widenScalar(), and X86ChooseCmpImmediateOpcode().

◆ addIntrinsicID()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addIntrinsicID ( Intrinsic::ID  ID) const
inline

◆ addJumpTableIndex()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addJumpTableIndex ( unsigned  Idx,
unsigned char  TargetFlags = 0 
) const
inline

◆ addMBB()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addMBB ( MachineBasicBlock MBB,
unsigned char  TargetFlags = 0 
) const
inline

Definition at line 129 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand(), and llvm::MachineOperand::CreateMBB().

Referenced by llvm::SSAUpdaterTraits< MachineSSAUpdater >::AddPHIOperand(), llvm::analyzeArguments(), llvm::MipsInstrInfo::analyzeBranch(), llvm::AVRInstrInfo::analyzeBranch(), AnyAliasLiveIn(), llvm::MachineIRBuilder::buildBr(), llvm::MachineIRBuilder::buildBrCond(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), countOperands(), llvm::createWebAssemblyFixIrreducibleControlFlow(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitClzero(), llvm::SparcTargetLowering::emitEHSjLjSetJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::X86FrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), emitLoadM0FromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostSt(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitXBegin(), FindSplitPointForStackProtector(), forceReg(), llvm::IRTranslator::getAnalysisUsage(), getCompareCC(), getComparePred(), getFallThroughMBB(), getNewValueJumpOpcode(), getNonDebugInstr(), getUnconditionalBrDisp(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::MipsTargetLowering::HandleByVal(), hasOneExitNode(), hasUseAfterLoop(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), llvm::WebAssemblyInstrInfo::insertBranch(), llvm::BPFInstrInfo::insertBranch(), llvm::XCoreInstrInfo::insertBranch(), llvm::MipsInstrInfo::insertBranch(), llvm::NVPTXInstrInfo::insertBranch(), llvm::SparcInstrInfo::insertBranch(), llvm::MSP430InstrInfo::insertBranch(), llvm::AVRInstrInfo::insertBranch(), llvm::HexagonInstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::LanaiInstrInfo::insertBranch(), llvm::R600InstrInfo::insertBranch(), llvm::PPCInstrInfo::insertBranch(), llvm::SystemZInstrInfo::insertBranch(), llvm::SIInstrInfo::insertBranch(), llvm::AArch64InstrInfo::insertBranch(), llvm::X86InstrInfo::insertBranch(), llvm::SIInstrInfo::insertIndirectBranch(), insertPHI(), isCMOVPseudo(), isFunctionEntryBlock(), isPHIRegionIndex(), lowerVECTOR_SHUFFLE_VSHF(), llvm::AArch64InstrInfo::optimizeCondBranch(), propagateSwiftErrorVRegs(), llvm::AArch64InstrInfo::removeBranch(), removeExternalCFGEdges(), and trySequenceOfOnes().

◆ addMemOperand()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addMemOperand ( MachineMemOperand MMO) const
inline

Definition at line 185 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addMemOperand().

Referenced by llvm::addFrameReference(), llvm::MachineIRBuilder::buildLoad(), buildMUBUFOffsetLoadStore(), llvm::MachineIRBuilder::buildStore(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), expandLoadStackGuard(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), forceReg(), llvm::IRTranslator::getAnalysisUsage(), getComparePred(), llvm::ARMInstrInfo::getUnindexedOpcode(), InsertFPConstInst(), InsertFPImmInst(), InsertSPConstInst(), InsertSPImmInst(), isMulPowOf2(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), lowerVECTOR_SHUFFLE_VSHF(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::SIRegisterInfo::restoreSGPR(), RestoreSpillList(), llvm::SIRegisterInfo::spillSGPR(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), and writeSPToMemory().

◆ addMetadata()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addMetadata ( const MDNode MD) const
inline

◆ addPredicate()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addPredicate ( CmpInst::Predicate  Pred) const
inline

◆ addReg()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addReg ( unsigned  RegNo,
unsigned  flags = 0,
unsigned  SubReg = 0 
) const
inline

Add a new virtual register operand.

Definition at line 81 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand(), assert(), llvm::MachineOperand::CreateReg(), llvm::RegState::Dead, llvm::RegState::Debug, llvm::RegState::Define, llvm::RegState::EarlyClobber, llvm::RegState::Implicit, llvm::RegState::InternalRead, llvm::RegState::Kill, SubReg, and llvm::RegState::Undef.

Referenced by llvm::addConstantPoolReference(), llvm::addDirectMem(), llvm::ARMBaseInstrInfo::AddDReg(), addExclusiveRegPair(), llvm::addFrameReference(), llvm::addFullAddress(), llvm::addOffset(), llvm::addRegOffset(), llvm::addRegReg(), addSavedGPR(), addSaveRestoreRegs(), AddSubReg(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::AMDGPUInstructionSelector::AMDGPUInstructionSelector(), llvm::analyzeArguments(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), attachMEMCPYScratchRegs(), llvm::X86InstrInfo::breakPartialRegDependency(), llvm::R600InstrInfo::buildDefaultInstruction(), llvm::MachineIRBuilder::buildDirectDbgValue(), llvm::MachineIRBuilder::buildIndirectDbgValue(), llvm::R600InstrInfo::buildIndirectRead(), llvm::R600InstrInfo::buildIndirectWrite(), llvm::BuildMI(), buildMUBUFOffsetLoadStore(), llvm::SIInstrInfo::calculateLDSSpillAddress(), canMoveInstsAcrossMemOp(), llvm::TailDuplicator::canTailDuplicate(), llvm::Thumb1FrameLowering::canUseAsEpilogue(), CC_MipsO32_FP64(), llvm::X86InstrInfo::classifyLEAReg(), llvm::X86InstrInfo::commuteInstructionImpl(), computeBytesPoppedByCalleeForSRet(), ContainsReg(), convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::SIInstrInfo::convertNonUniformIfRegion(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::BPFInstrInfo::copyPhysReg(), llvm::WebAssemblyInstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::Mips16InstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::LanaiInstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::AVRInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), countOperands(), llvm::createHexagonHardwareLoops(), llvm::createSIWholeQuadModePass(), llvm::createWebAssemblyFixIrreducibleControlFlow(), llvm::createX86FixupBWInsts(), llvm::createX86FixupSetCC(), llvm::HexagonFrameLowering::determineCalleeSaves(), llvm::SplitEditor::dump(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitClzero(), llvm::InstrEmitter::EmitDbgValue(), llvm::SparcTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::SparcTargetLowering::emitEHSjLjSetJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::X86FrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), emitIndirectDst(), emitIndirectSrc(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), emitLoadM0FromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostLd(), emitPostSt(), llvm::AVRFrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::HexagonFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::X86FrameLowering::emitSPUpdate(), llvm::emitT2RegPlusImmediate(), emitThumb1LoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), emitXBegin(), Expand2AddrKreg(), Expand2AddrUndef(), expandLoadStackGuard(), expandMOV32r1(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SparcTargetLowering::expandSelectCC(), llvm::FastISel::fastEmitInst_r(), llvm::FastISel::fastEmitInst_ri(), llvm::FastISel::fastEmitInst_rii(), llvm::FastISel::fastEmitInst_rr(), llvm::FastISel::fastEmitInst_rri(), llvm::FastISel::fastEmitInst_rrr(), llvm::finalizeBundle(), findIncDecAfter(), FindSplitPointForStackProtector(), FindStartOfTree(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), forceReg(), llvm::SIInstrInfo::getAddNoCarry(), getAllSGPRs(), getCompareCC(), getComparePred(), GetDSubRegs(), getLeaOP(), getLoadStoreOffsetAlign(), getMFHiLoOpc(), getNonDebugInstr(), getPostIndexedLoadStoreOpcode(), getReassignedChan(), getSmrdOpcode(), getTag(), getUnconditionalBrDisp(), llvm::ARMInstrInfo::getUnindexedOpcode(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), getX86SSEConditionCode(), llvm::MipsTargetLowering::HandleByVal(), hasOneExitNode(), hasUseAfterLoop(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), llvm::XCoreInstrInfo::insertBranch(), llvm::NVPTXInstrInfo::insertBranch(), llvm::HexagonInstrInfo::insertBranch(), llvm::R600InstrInfo::insertBranch(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertEQ(), InsertFPConstInst(), InsertFPImmInst(), llvm::SIInstrInfo::insertIndirectBranch(), InsertLDR_STR(), llvm::SIInstrInfo::insertNE(), llvm::AArch64InstrInfo::insertOutlinedCall(), llvm::AArch64InstrInfo::insertOutlinerEpilogue(), insertPHI(), llvm::PPCInstrInfo::insertSelect(), llvm::SystemZInstrInfo::insertSelect(), llvm::SIInstrInfo::insertSelect(), llvm::AArch64InstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), InsertSPConstInst(), llvm::SIInstrInfo::insertVectorSelect(), IsAnAddressOperand(), isCMOVPseudo(), isCompareZero(), llvm::isCopyMulResult(), isDebug(), isFpMulInstruction(), isFunctionEntryBlock(), isLEASimpleIncOrDec(), llvm::ARMBaseInstrInfo::isLoadFromStackSlotPostFE(), isMulPowOf2(), isPHIRegionIndex(), isPromotableZeroStoreInst(), IsSafeAndProfitableToMove(), isSExtLoad(), isSubregOf(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOpWithMove(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadImmediate(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), lowerVECTOR_SHUFFLE_VSHF(), llvm::Mips16InstrInfo::makeFrame(), Mips16WhichOp8uOr16simm(), MoveAndTeeForMultiUse(), llvm::SIInstrInfo::moveToVALU(), opcodeEmitsNoInsts(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::AArch64InstrInfo::optimizeCondBranch(), llvm::R600InstrInfo::PredicateInstruction(), llvm::HexagonInstrInfo::PredicateInstruction(), llvm::SystemZInstrInfo::PredicateInstruction(), profitImm(), propagateSwiftErrorVRegs(), llvm::SIInstrInfo::readlaneVGPRToSGPR(), regOverlapsSet(), removeExternalCFGEdges(), replaceFI(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::Mips16InstrInfo::restoreFrame(), llvm::SIRegisterInfo::restoreSGPR(), llvm::ThumbRegisterInfo::saveScavengerRegister(), llvm::FastISel::selectIntrinsicCall(), llvm::ARMBaseInstrInfo::setExecutionDomain(), llvm::SparcFrameLowering::SparcFrameLowering(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), llvm::X86InstrInfo::storeRegToAddr(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::LanaiInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::SystemZInstrInfo(), trySequenceOfOnes(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdatePredRedefs(), UseReg(), VerifyLowRegs(), llvm::LegalizerHelper::widenScalar(), writeSPToMemory(), and X86ChooseCmpImmediateOpcode().

◆ addRegMask()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addRegMask ( const uint32_t Mask) const
inline

◆ addSym()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addSym ( MCSymbol Sym,
unsigned char  TargetFlags = 0 
) const
inline

◆ addTargetIndex()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addTargetIndex ( unsigned  Idx,
int64_t  Offset = 0,
unsigned char  TargetFlags = 0 
) const
inline

◆ addUse()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addUse ( unsigned  RegNo,
unsigned  Flags = 0,
unsigned  SubReg = 0 
) const
inline

Add a virtual register use operand.

It is an error for Flags to contain RegState::Define when calling this function.

Definition at line 106 of file MachineInstrBuilder.h.

References assert(), llvm::RegState::Define, Flags, and SubReg.

Referenced by llvm::MachineIRBuilder::buildAnyExt(), llvm::MachineIRBuilder::buildBrCond(), llvm::MachineIRBuilder::buildBrIndirect(), llvm::MachineIRBuilder::buildCast(), llvm::MachineIRBuilder::buildCopy(), llvm::MachineIRBuilder::buildExtract(), llvm::MachineIRBuilder::buildExtractVectorElement(), llvm::MachineIRBuilder::buildFCmp(), llvm::MachineIRBuilder::buildFPTrunc(), llvm::MachineIRBuilder::buildGEP(), llvm::MachineIRBuilder::buildGlobalValue(), llvm::MachineIRBuilder::buildICmp(), llvm::MachineIRBuilder::buildInsert(), llvm::MachineIRBuilder::buildInsertVectorElement(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineIRBuilder::buildLoad(), llvm::MachineIRBuilder::buildMerge(), llvm::MachineIRBuilder::buildPtrMask(), llvm::MachineIRBuilder::buildSelect(), llvm::MachineIRBuilder::buildSExt(), llvm::MachineIRBuilder::buildSExtOrTrunc(), llvm::MachineIRBuilder::buildStore(), llvm::MachineIRBuilder::buildTrunc(), llvm::MachineIRBuilder::buildUAdde(), llvm::MachineIRBuilder::buildZExt(), llvm::MachineIRBuilder::buildZExtOrTrunc(), changeFCMPPredToAArch64CC(), llvm::IRTranslator::getAnalysisUsage(), llvm::RegBankSelect::getAnalysisUsage(), isSExtLoad(), isSupportedType(), llvm::LegalizerHelper::lower(), trySequenceOfOnes(), llvm::LegalizerHelper::widenScalar(), and llvm::X86CallLowering::X86CallLowering().

◆ copyImplicitOps()

const MachineInstrBuilder& llvm::MachineInstrBuilder::copyImplicitOps ( const MachineInstr OtherMI) const
inline

◆ getInstr()

MachineInstr* llvm::MachineInstrBuilder::getInstr ( ) const
inline

◆ operator MachineBasicBlock::iterator()

llvm::MachineInstrBuilder::operator MachineBasicBlock::iterator ( ) const
inline

Definition at line 74 of file MachineInstrBuilder.h.

References MI.

◆ operator MachineInstr *()

llvm::MachineInstrBuilder::operator MachineInstr * ( ) const
inline

Allow automatic conversion to the machine instruction we are working on.

Definition at line 72 of file MachineInstrBuilder.h.

References MI.

◆ operator->()

MachineInstr* llvm::MachineInstrBuilder::operator-> ( ) const
inline

Definition at line 73 of file MachineInstrBuilder.h.

References MI.

◆ setMemRefs() [1/2]

const MachineInstrBuilder& llvm::MachineInstrBuilder::setMemRefs ( MachineInstr::mmo_iterator  b,
MachineInstr::mmo_iterator  e 
) const
inline

◆ setMemRefs() [2/2]

const MachineInstrBuilder& llvm::MachineInstrBuilder::setMemRefs ( std::pair< MachineInstr::mmo_iterator, unsigned MemOperandsRef) const
inline

Definition at line 196 of file MachineInstrBuilder.h.

References llvm::MachineInstr::setMemRefs().

◆ setMIFlag()

const MachineInstrBuilder& llvm::MachineInstrBuilder::setMIFlag ( MachineInstr::MIFlag  Flag) const
inline

◆ setMIFlags()

const MachineInstrBuilder& llvm::MachineInstrBuilder::setMIFlags ( unsigned  Flags) const
inline

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