LLVM  10.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...
 
Register getReg (unsigned Idx) const
 Get the register for the operand index. More...
 
const MachineInstrBuilderaddReg (Register RegNo, unsigned flags=0, unsigned SubReg=0) const
 Add a new virtual register operand. More...
 
const MachineInstrBuilderaddDef (Register RegNo, unsigned Flags=0, unsigned SubReg=0) const
 Add a virtual register definition operand. More...
 
const MachineInstrBuilderaddUse (Register 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 TargetFlags=0) const
 
const MachineInstrBuilderaddFrameIndex (int Idx) const
 
const MachineInstrBuilderaddConstantPoolIndex (unsigned Idx, int Offset=0, unsigned TargetFlags=0) const
 
const MachineInstrBuilderaddTargetIndex (unsigned Idx, int64_t Offset=0, unsigned TargetFlags=0) const
 
const MachineInstrBuilderaddJumpTableIndex (unsigned Idx, unsigned TargetFlags=0) const
 
const MachineInstrBuilderaddGlobalAddress (const GlobalValue *GV, int64_t Offset=0, unsigned TargetFlags=0) const
 
const MachineInstrBuilderaddExternalSymbol (const char *FnName, unsigned TargetFlags=0) const
 
const MachineInstrBuilderaddBlockAddress (const BlockAddress *BA, int64_t Offset=0, unsigned TargetFlags=0) const
 
const MachineInstrBuilderaddRegMask (const uint32_t *Mask) const
 
const MachineInstrBuilderaddMemOperand (MachineMemOperand *MMO) const
 
const MachineInstrBuildersetMemRefs (ArrayRef< MachineMemOperand *> MMOs) const
 
const MachineInstrBuildercloneMemRefs (const MachineInstr &OtherMI) const
 
const MachineInstrBuildercloneMergedMemRefs (ArrayRef< const MachineInstr *> OtherMIs) 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 MachineInstrBuilderaddShuffleMask (const Constant *Val) 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...
 
bool constrainAllUses (const TargetInstrInfo &TII, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI) const
 

Detailed Description

Definition at line 60 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 69 of file MachineInstrBuilder.h.

◆ MachineInstrBuilder() [3/3]

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

Definition at line 70 of file MachineInstrBuilder.h.

Member Function Documentation

◆ add() [1/2]

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

Definition at line 215 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand().

Referenced by addExclusiveRegPair(), llvm::addOffset(), addOperands(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::MipsInstrInfo::analyzeBranch(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::BuildMI(), buildMUBUFOffsetLoadStore(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::SIInstrInfo::buildShrunkInst(), llvm::X86InstrInfo::classifyLEAReg(), CombineCVTAToLocal(), combineKnownAdjacentMMOs(), CompareMBBNumbers(), ContainsReg(), convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::SIInstrInfo::convertNonUniformIfRegion(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), createPHIsForSelects(), llvm::createX86FixupBWInsts(), doesNotGeneratecode(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::emitARMRegPlusImmediate(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), emitIndirectDst(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), llvm::TargetLoweringBase::emitPatchPoint(), emitPostLd(), emitPostSt(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), emitPrologueEpilogueSPUpdate(), llvm::emitT2RegPlusImmediate(), emitThumb2LoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), llvm::TargetLoweringBase::emitXRayCustomEvent(), llvm::TargetLoweringBase::emitXRayTypedEvent(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandVGatherPseudo(), findIncDecAfter(), findSingleRegDef(), findTemporariesForLR(), findVCMPToFoldIntoVPST(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), for(), FuseInst(), FuseTwoAddrInst(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), llvm::MipsInstrInfo::genInstrWithNewOpc(), getAdjustedCmp(), getCallOpcode(), getComparePred(), getCompareSourceReg(), GetDSubRegs(), getINCDECFromLEA(), getLogicalBitOpcode(), getPostIndexedLoadStoreOpcode(), getRetpolineSymbol(), getUnconditionalBrDisp(), llvm::ARMInstrInfo::getUnindexedOpcode(), INITIALIZE_PASS(), llvm::SIInstrInfo::insertBranch(), isCompareZero(), isHardwareLoop(), llvm::ARMBaseInstrInfo::isLoadFromStackSlotPostFE(), isMergeableLdStUpdate(), IsMovepDestinationRegPair(), llvm::SIInstrInfo::legalizeGenericOperand(), llvm::SIInstrInfo::legalizeOperands(), llvm::SIInstrInfo::legalizeOperandsVOP2(), llvm::SIInstrInfo::legalizeOperandsVOP3(), llvm::SIInstrInfo::legalizeOpWithMove(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::X86CallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::ARMCallLowering::lowerReturn(), makeImplicit(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::moveToVALU(), MSA3OpIntrinsicToGeneric(), llvm::LegalizerHelper::narrowScalar(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), llvm::SystemZInstrInfo::PredicateInstruction(), llvm::X86InstrInfo::reMaterialize(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::rewriteT2FrameIndex(), selectMergeValues(), SelectMSA3OpIntrinsic(), llvm::FastISel::selectPatchpoint(), llvm::FastISel::selectStackmap(), selectUnmergeValues(), llvm::FastISel::selectXRayCustomEvent(), llvm::FastISel::selectXRayTypedEvent(), llvm::ARMBaseInstrInfo::setExecutionDomain(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), 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 220 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addOperand().

◆ addBlockAddress()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addBlockAddress ( const BlockAddress BA,
int64_t  Offset = 0,
unsigned  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  TargetFlags = 0 
) const
inline

◆ addDef()

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

Add a virtual register definition operand.

Definition at line 107 of file MachineInstrBuilder.h.

References llvm::RegState::Define, and SubReg.

Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::DstOp::addDefToMIB(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), llvm::MachineIRBuilder::buildBlockAddress(), llvm::MachineIRBuilder::buildConstant(), llvm::MachineIRBuilder::buildFConstant(), llvm::MachineIRBuilder::buildInsert(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), changeFCMPPredToAArch64CC(), llvm::AArch64InstrInfo::expandPostRAPseudo(), extractDLC(), llvm::LegalizerHelper::fewerElementsVectorPhi(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), llvm::RegBankSelect::getAnalysisUsage(), getBufferStoreFormatOpcode(), getHalfSizedType(), getInsertVecEltOpInfo(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), getOffsetFromIndices(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::MipsCallLowering::MipsHandler::handle(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), llvm::SIInstrInfo::legalizeOperands(), llvm::LegalizerHelper::lower(), llvm::X86CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::ARMCallLowering::lowerFormalArguments(), llvm::X86CallLowering::lowerReturn(), matchSwap(), llvm::LegalizerHelper::moreElementsVector(), llvm::LegalizerHelper::narrowScalar(), llvm::CombinerHelper::tryCombineIndexedLoadStore(), and llvm::LegalizerHelper::widenScalar().

◆ 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  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 143 of file MachineInstrBuilder.h.

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

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

◆ addGlobalAddress()

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

◆ addImm()

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

Add a new immediate operand.

Definition at line 122 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(), addRegsToSet(), llvm::SrcOp::addSrcToMIB(), llvm::addUnpredicatedMveVpredNOp(), llvm::X86FrameLowering::adjustForHiPEPrologue(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::analyzeArguments(), AnyAliasLiveIn(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), branchMaxOffsets(), llvm::ARMBaseInstrInfo::breakPartialRegDependency(), llvm::Mips16InstrInfo::BuildAddiuSpImm(), llvm::buildDbgValueForSpill(), llvm::R600InstrInfo::buildDefaultInstruction(), buildEpilogReload(), llvm::MachineIRBuilder::buildFence(), llvm::MachineIRBuilder::buildInsert(), llvm::BuildMI(), buildMUBUFOffsetLoadStore(), llvm::AArch64InstrInfo::buildOutlinedFrame(), llvm::AMDGPULegalizerInfo::buildPCRelGlobalAddress(), buildPrologSpill(), llvm::SIInstrInfo::calculateLDSSpillAddress(), calculateSetFPREG(), callWaitsOnFunctionReturn(), canTurnIntoCOPY(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), llvm::X86InstrInfo::classifyLEAReg(), combineKnownAdjacentMMOs(), computeBytesPoppedByCalleeForSRet(), ContainsReg(), convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::SIInstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::AArch64InstrInfo::copyGPRRegTuple(), llvm::BPFInstrInfo::copyPhysReg(), llvm::RISCVInstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::LanaiInstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::createSIAddIMGInitPass(), llvm::createSIModeRegisterPass(), doesNotGeneratecode(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIFrameLowering::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::AArch64RegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::emitARMRegPlusImmediate(), emitBuildPairF64Pseudo(), llvm::InstrEmitter::EmitDbgValue(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::LanaiFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), emitFrameOffsetAdj(), llvm::SITargetLowering::emitGWSMemViolTestLoop(), emitIncrement(), emitIndirectDst(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitLoadM0FromVGPRLoop(), emitLoadSRsrcFromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::TargetLoweringBase::emitPatchPoint(), emitPostLd(), emitPostSt(), llvm::AVRFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), emitRegUpdate(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitSplitF64Pseudo(), llvm::X86FrameLowering::emitSPUpdate(), llvm::emitT2RegPlusImmediate(), emitThumb1LoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitXBegin(), enableAllocFrameElim(), expandLoadStackGuard(), llvm::SIInstrInfo::expandMovDPP64(), expandNOVLXStore(), llvm::SparcInstrInfo::expandPostRAPseudo(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::SparcTargetLowering::expandSelectCC(), expandSHXDROT(), extractDLC(), extractRsrcPtr(), llvm::FastISel::fastEmitInst_i(), llvm::FastISel::fastEmitInst_ri(), llvm::FastISel::fastEmitInst_rii(), llvm::FastISel::fastEmitInst_rri(), findSingleRegDef(), findTemporariesForLR(), findUncondBrI(), findVCMPToFoldIntoVPST(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), foldPatchpoint(), for(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), generateStackAdjustment(), llvm::MipsInstrInfo::genInstrWithNewOpc(), getBufferStoreFormatOpcode(), getCallOpcode(), getCompareCC(), getComparePred(), getExtendTypeForInst(), getFPTrueImmVal(), getImplicitScaleFactor(), getINCDECFromLEA(), GetInitialOffset(), getInsertVecEltOpInfo(), getLaneCopyOpcode(), getLeaOP(), getLoadStoreOffsetAlign(), getLogicalBitOpcode(), getMappedOp(), getOffsetFromIndices(), getPostIndexedLoadStoreOpcode(), getReassignedChan(), getRegClassForUnfoldedLoad(), getRegClassFromGRPhysReg(), getRetpolineSymbol(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), getSubOpcode(), getTag(), llvm::BPFTargetLowering::getTargetNodeName(), getUnconditionalBrDisp(), llvm::ARMInstrInfo::getUnindexedOpcode(), HandleVRSaveUpdate(), llvm::RISCVFrameLowering::hasFP(), hasVulnerableLoad(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), llvm::LanaiInstrInfo::insertBranch(), llvm::X86InstrInfo::insertBranch(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertEQ(), InsertFPImmInst(), llvm::SIInstrInfo::insertIndirectBranch(), InsertLDR_STR(), llvm::SIInstrInfo::insertNE(), llvm::AArch64InstrInfo::insertOutlinedCall(), llvm::SIInstrInfo::insertReturn(), InsertSEH(), llvm::AArch64InstrInfo::insertSelect(), llvm::SystemZInstrInfo::insertSelect(), llvm::SIInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), InsertSPImmInst(), llvm::SIInstrInfo::insertWaitStates(), instrDefsUsesSCC(), isConstant(), isCopy(), isEFLAGSLive(), isFpMulInstruction(), isMergeableLdStUpdate(), isMulPowOf2(), IsSafeAndProfitableToMove(), isSExtLoad(), isStackPtrRelative(), isVRegCompatibleReg(), llvm::SIInstrInfo::legalizeOperands(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::XCoreInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadImmediate(), llvm::ARCInstrInfo::loadImmediate(), llvm::SystemZInstrInfo::loadImmediate(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::BPFInstrInfo::loadRegFromStackSlot(), llvm::RISCVInstrInfo::loadRegFromStackSlot(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::LanaiInstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), loadRegPairFromStackSlot(), llvm::X86CallLowering::lowerCall(), llvm::ARMCallLowering::lowerCall(), llvm::AArch64CallLowering::lowerCall(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::X86CallLowering::lowerReturn(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::Mips16InstrInfo::makeFrame(), makeImplicit(), MakeM0Inst(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::SIInstrInfo::materializeImmediate(), Mips16WhichOp8uOr16simm(), llvm::SIInstrInfo::moveToVALU(), llvm::RISCVInstrInfo::movImm(), llvm::AArch64InstrInfo::optimizeCondBranch(), llvm::LanaiInstrInfo::optimizeSelect(), llvm::ARMBaseInstrInfo::optimizeSelect(), packCmovGroup(), llvm::SystemZInstrInfo::PredicateInstruction(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::X86FrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIInstrInfo::readlaneVGPRToSGPR(), llvm::ARMBaseInstrInfo::reMaterialize(), replaceFI(), ReplaceFrameIndex(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::Mips16InstrInfo::restoreFrame(), llvm::SIRegisterInfo::restoreSGPR(), llvm::X86FrameLowering::restoreWin32EHStackPointers(), selectCopy(), llvm::FastISel::selectIntrinsicCall(), llvm::FastISel::selectStackmap(), llvm::ARMBaseInstrInfo::setExecutionDomain(), setM0ToIndexFromSGPR(), shouldUseAndMask(), llvm::SparcFrameLowering::SparcFrameLowering(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), storeRegPairToStackSlot(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::RISCVInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::LanaiInstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), swapMIOperands(), llvm::SystemZInstrInfo::SystemZInstrInfo(), llvm::CombinerHelper::tryCombineIndexedLoadStore(), VerifyLowRegs(), and X86ChooseCmpImmediateOpcode().

◆ addIntrinsicID()

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

◆ addJumpTableIndex()

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

◆ addMBB()

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

Definition at line 137 of file MachineInstrBuilder.h.

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

Referenced by llvm::SSAUpdaterTraits< MachineSSAUpdater >::AddPHIOperand(), llvm::analyzeArguments(), llvm::MipsInstrInfo::analyzeBranch(), AnyAliasLiveIn(), llvm::MachineIRBuilder::buildBr(), llvm::MachineIRBuilder::buildBrCond(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), emitLoadM0FromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostSt(), emitReadCycleWidePseudo(), emitSelectPseudo(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitXBegin(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::LegalizerHelper::fewerElementsVectorPhi(), for(), getCompareCC(), getComparePred(), getHalfSizedType(), getNewValueJumpOpcode(), getOffsetFromIndices(), getRegClassForUnfoldedLoad(), getRetpolineSymbol(), getUnconditionalBrDisp(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::MipsTargetLowering::HandleByVal(), hasOneExitNode(), hasUseAfterLoop(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), llvm::MipsInstrInfo::insertBranch(), llvm::LanaiInstrInfo::insertBranch(), llvm::AArch64InstrInfo::insertBranch(), llvm::SIInstrInfo::insertBranch(), llvm::X86InstrInfo::insertBranch(), llvm::RISCVInstrInfo::insertIndirectBranch(), llvm::AVRInstrInfo::insertIndirectBranch(), llvm::SIInstrInfo::insertIndirectBranch(), insertPHI(), isPHIRegionIndex(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), LowerFPToInt(), llvm::AArch64InstrInfo::optimizeCondBranch(), packCmovGroup(), llvm::SwiftErrorValueTracking::propagateVRegs(), and llvm::X86FrameLowering::spillCalleeSavedRegisters().

◆ addMemOperand()

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

Definition at line 193 of file MachineInstrBuilder.h.

References llvm::MachineInstr::addMemOperand().

Referenced by llvm::addFrameReference(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), buildEpilogReload(), buildMUBUFOffsetLoadStore(), buildPrologSpill(), canTurnIntoCOPY(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), createPHIsForSelects(), emitBuildPairF64Pseudo(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), emitPostSt(), llvm::XCoreFrameLowering::emitPrologue(), emitSplitF64Pseudo(), enableAllocFrameElim(), expandLoadStackGuard(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), getBufferStoreFormatOpcode(), getComparePred(), getOffsetFromIndices(), llvm::ARMInstrInfo::getUnindexedOpcode(), InsertFPConstInst(), InsertFPImmInst(), InsertSPConstInst(), InsertSPImmInst(), isMulPowOf2(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::Mips16InstrInfo::loadRegFromStack(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::Thumb1InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::XCoreInstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AVRInstrInfo::loadRegFromStackSlot(), llvm::SparcInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::HexagonInstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), loadRegPairFromStackSlot(), llvm::LegalizerHelper::narrowScalar(), ReplaceFrameIndex(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::SIRegisterInfo::restoreSGPR(), RestoreSpillList(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), storeRegPairToStackSlot(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), and llvm::SIInstrInfo::storeRegToStackSlot().

◆ 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 ( Register  RegNo,
unsigned  flags = 0,
unsigned  SubReg = 0 
) const
inline

Add a new virtual register operand.

Definition at line 88 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, llvm::RegState::Renamable, SubReg, and llvm::RegState::Undef.

Referenced by llvm::addConstantPoolReference(), llvm::addDirectMem(), llvm::ARMBaseInstrInfo::AddDReg(), addExclusiveRegPair(), llvm::addFrameReference(), llvm::addFullAddress(), addIncomingValuesToPHIs(), llvm::addOffset(), llvm::addRegOffset(), llvm::addRegReg(), addSavedGPR(), addSaveRestoreRegs(), AddSubReg(), llvm::addUnpredicatedMveVpredNOp(), llvm::addUnpredicatedMveVpredROp(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::X86FrameLowering::adjustForSegmentedStacks(), llvm::MipsSEInstrInfo::adjustStackPtr(), llvm::analyzeArguments(), llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(), llvm::X86InstrInfo::breakPartialRegDependency(), llvm::R600InstrInfo::buildDefaultInstruction(), buildEpilogReload(), llvm::SIInstrInfo::buildExtractSubReg(), llvm::MachineIRBuilder::buildFIDbgValue(), llvm::R600InstrInfo::buildIndirectRead(), llvm::R600InstrInfo::buildIndirectWrite(), llvm::BuildMI(), buildMUBUFOffsetLoadStore(), llvm::AArch64InstrInfo::buildOutlinedFrame(), buildPrologSpill(), llvm::SIInstrInfo::calculateLDSSpillAddress(), llvm::TailDuplicator::canTailDuplicate(), canTurnIntoCOPY(), llvm::X86InstrInfo::classifyLEAReg(), combineKnownAdjacentMMOs(), computeBytesPoppedByCalleeForSRet(), ContainsReg(), convertCalleeSaveRestoreToSPPrePostIncDec(), llvm::SIInstrInfo::convertNonUniformIfRegion(), llvm::SIInstrInfo::convertNonUniformLoopRegion(), llvm::ARMBaseInstrInfo::convertToThreeAddress(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::ARMBaseInstrInfo::copyFromCPSR(), llvm::AArch64InstrInfo::copyGPRRegTuple(), llvm::BPFInstrInfo::copyPhysReg(), llvm::RISCVInstrInfo::copyPhysReg(), llvm::MSP430InstrInfo::copyPhysReg(), llvm::Thumb1InstrInfo::copyPhysReg(), llvm::Thumb2InstrInfo::copyPhysReg(), llvm::MipsSEInstrInfo::copyPhysReg(), llvm::WebAssemblyInstrInfo::copyPhysReg(), llvm::LanaiInstrInfo::copyPhysReg(), llvm::Mips16InstrInfo::copyPhysReg(), llvm::NVPTXInstrInfo::copyPhysReg(), llvm::XCoreInstrInfo::copyPhysReg(), llvm::ARCInstrInfo::copyPhysReg(), llvm::AVRInstrInfo::copyPhysReg(), llvm::SparcInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysReg(), llvm::HexagonInstrInfo::copyPhysReg(), llvm::SIInstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyPhysReg(), llvm::SystemZInstrInfo::copyPhysReg(), llvm::PPCInstrInfo::copyPhysReg(), llvm::X86InstrInfo::copyPhysReg(), llvm::ARMBaseInstrInfo::copyToCPSR(), llvm::TargetInstrInfo::createPHIDestinationCopy(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), llvm::SIInstrInfo::createPHISourceCopy(), llvm::TargetInstrInfo::createPHISourceCopy(), llvm::createSIAddIMGInitPass(), llvm::createSIWholeQuadModePass(), llvm::createX86FixupBWInsts(), llvm::createX86FixupSetCC(), llvm::createX86RetpolineThunksPass(), llvm::SplitEditor::dump(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::RISCVRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::InstrEmitter::EmitDbgValue(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), emitIndirectDst(), emitIndirectSrc(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), emitLoadM0FromVGPRLoop(), emitLoadSRsrcFromVGPRLoop(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostLd(), emitPostSt(), llvm::AVRFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::LanaiFrameLowering::emitPrologue(), llvm::SystemZFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::X86FrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), emitPrologueEpilogueSPUpdate(), emitReadCycleWidePseudo(), emitSelectPseudo(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::X86FrameLowering::emitSPUpdate(), llvm::emitT2RegPlusImmediate(), emitThumb1LoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), emitXBegin(), enableAllocFrameElim(), eraseDeadBBsAndChildren(), Expand2AddrKreg(), Expand2AddrUndef(), expandLoadStackGuard(), expandMOV32r1(), llvm::SIInstrInfo::expandMovDPP64(), llvm::HexagonInstrInfo::expandPostRAPseudo(), llvm::SIInstrInfo::expandPostRAPseudo(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::PPCInstrInfo::expandPostRAPseudo(), llvm::SparcTargetLowering::expandSelectCC(), expandSHXDROT(), llvm::HexagonInstrInfo::expandVGatherPseudo(), expandXorFP(), extractRsrcPtr(), 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(), findSingleRegDef(), findStartOfTree(), findTemporariesForLR(), llvm::ARMBaseInstrInfo::FoldImmediate(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), for(), llvm::SIInstrInfo::getAddNoCarry(), getBufferStoreFormatOpcode(), getCallOpcode(), getCompareCC(), getComparePred(), getFPTrueImmVal(), getHalfSizedType(), getImplicitScaleFactor(), getINCDECFromLEA(), getLeaOP(), getLoadStoreOffsetAlign(), getLogicalBitOpcode(), getPostIndexedLoadStoreOpcode(), getReassignedChan(), getRegClassForUnfoldedLoad(), getRegClassFromGRPhysReg(), getRetpolineSymbol(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), getSubOpcode(), getTag(), llvm::BPFTargetLowering::getTargetNodeName(), getUnconditionalBrDisp(), llvm::ARMInstrInfo::getUnindexedOpcode(), llvm::MachineSSAUpdater::GetValueInMiddleOfBlock(), llvm::MipsTargetLowering::HandleByVal(), llvm::RISCVFrameLowering::hasFP(), hasOneExitNode(), hasUseAfterLoop(), hasVulnerableLoad(), llvm::MipsFunctionInfo::initGlobalBaseReg(), INITIALIZE_PASS(), llvm::X86FrameLowering::inlineStackProbe(), insertDivByZeroTrap(), llvm::SIInstrInfo::insertEQ(), InsertFPConstInst(), InsertFPImmInst(), llvm::RISCVInstrInfo::insertIndirectBranch(), llvm::SIInstrInfo::insertIndirectBranch(), InsertLDR_STR(), llvm::SIInstrInfo::insertNE(), llvm::AArch64InstrInfo::insertOutlinedCall(), insertPHI(), llvm::AArch64InstrInfo::insertSelect(), llvm::SystemZInstrInfo::insertSelect(), llvm::SIInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), InsertSPConstInst(), instrDefsUsesSCC(), isCompareZero(), isConstant(), llvm::isCopyMulResult(), isEFLAGSLive(), isFpMulInstruction(), llvm::ARMBaseInstrInfo::isLoadFromStackSlotPostFE(), isMergeableLdStUpdate(), isMulPowOf2(), isPHIRegionIndex(), IsSafeAndProfitableToMove(), isSCC(), isSExtLoad(), isVRegCompatibleReg(), llvm::SIInstrInfo::legalizeOperands(), llvm::MipsSEInstrInfo::loadImmediate(), llvm::Mips16InstrInfo::loadImmediate(), llvm::MipsSEInstrInfo::loadRegFromStack(), llvm::MSP430InstrInfo::loadRegFromStackSlot(), llvm::Thumb2InstrInfo::loadRegFromStackSlot(), llvm::ARCInstrInfo::loadRegFromStackSlot(), llvm::AArch64InstrInfo::loadRegFromStackSlot(), llvm::ARMBaseInstrInfo::loadRegFromStackSlot(), llvm::SIInstrInfo::loadRegFromStackSlot(), loadRegPairFromStackSlot(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), LowerFPToInt(), llvm::Mips16InstrInfo::makeFrame(), makeImplicit(), matchSwap(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), Mips16WhichOp8uOr16simm(), moveAndTeeForMultiUse(), llvm::SIInstrInfo::moveToVALU(), llvm::RISCVInstrInfo::movImm(), llvm::PPCInstrInfo::optimizeCompareInstr(), llvm::AArch64InstrInfo::optimizeCondBranch(), optimizeVcndVcmpPair(), packCmovGroup(), llvm::R600InstrInfo::PredicateInstruction(), llvm::SystemZInstrInfo::PredicateInstruction(), llvm::SwiftErrorValueTracking::propagateVRegs(), llvm::SIInstrInfo::readlaneVGPRToSGPR(), replaceFI(), ReplaceFrameIndex(), llvm::PPCInstrInfo::replaceInstrWithLI(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::Mips16InstrInfo::restoreFrame(), llvm::SIRegisterInfo::restoreSGPR(), llvm::FastISel::selectIntrinsicCall(), llvm::ARMBaseInstrInfo::setExecutionDomain(), shouldUseAndMask(), llvm::SparcFrameLowering::SparcFrameLowering(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::X86FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), storeRegPairToStackSlot(), llvm::MipsSEInstrInfo::storeRegToStack(), llvm::Mips16InstrInfo::storeRegToStack(), llvm::BPFInstrInfo::storeRegToStackSlot(), llvm::RISCVInstrInfo::storeRegToStackSlot(), llvm::MSP430InstrInfo::storeRegToStackSlot(), llvm::Thumb1InstrInfo::storeRegToStackSlot(), llvm::Thumb2InstrInfo::storeRegToStackSlot(), llvm::LanaiInstrInfo::storeRegToStackSlot(), llvm::XCoreInstrInfo::storeRegToStackSlot(), llvm::ARCInstrInfo::storeRegToStackSlot(), llvm::AVRInstrInfo::storeRegToStackSlot(), llvm::SparcInstrInfo::storeRegToStackSlot(), llvm::AArch64InstrInfo::storeRegToStackSlot(), llvm::HexagonInstrInfo::storeRegToStackSlot(), llvm::ARMBaseInstrInfo::storeRegToStackSlot(), llvm::SIInstrInfo::storeRegToStackSlot(), llvm::X86InstrInfo::storeRegToStackSlot(), llvm::SystemZInstrInfo::SystemZInstrInfo(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpdatePredRedefs(), VerifyLowRegs(), llvm::WebAssemblyFrameLowering::writeSPToGlobal(), and X86ChooseCmpImmediateOpcode().

◆ addRegMask()

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

◆ addShuffleMask()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addShuffleMask ( const Constant Val) 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  TargetFlags = 0 
) const
inline

◆ addUse()

const MachineInstrBuilder& llvm::MachineInstrBuilder::addUse ( Register  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 114 of file MachineInstrBuilder.h.

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

Referenced by llvm::AArch64CallLowering::AArch64CallLowering(), llvm::SrcOp::addSrcToMIB(), llvm::MachineIRBuilder::buildAtomicCmpXchg(), llvm::MachineIRBuilder::buildAtomicCmpXchgWithSuccess(), llvm::MachineIRBuilder::buildBrCond(), llvm::MachineIRBuilder::buildBrIndirect(), llvm::MachineIRBuilder::buildBrJT(), llvm::MachineIRBuilder::buildInsert(), changeFCMPPredToAArch64CC(), llvm::AArch64InstrInfo::expandPostRAPseudo(), extractDLC(), llvm::LegalizerHelper::fewerElementsVectorCasts(), llvm::LegalizerHelper::fewerElementsVectorMultiEltType(), llvm::LegalizerHelper::fewerElementsVectorPhi(), llvm::LegalizerHelper::fewerElementsVectorUnmergeValues(), for(), llvm::RegBankSelect::getAnalysisUsage(), getBufferStoreFormatOpcode(), getInsertVecEltOpInfo(), llvm::AMDGPURegisterBankInfo::getInstrAlternativeMappings(), getLaneCopyOpcode(), getOffsetFromIndices(), llvm::AMDGPULegalizerInfo::getSegmentAperture(), INITIALIZE_PASS(), isSupportedType(), llvm::AMDGPULegalizerInfo::legalizeAddrSpaceCast(), llvm::AMDGPULegalizerInfo::legalizeFastUnsafeFDIV(), llvm::AMDGPULegalizerInfo::legalizeIntrinsic(), llvm::AMDGPULegalizerInfo::legalizeSinCos(), llvm::LegalizerHelper::lower(), llvm::X86CallLowering::lowerCall(), llvm::MipsCallLowering::lowerCall(), llvm::AMDGPUCallLowering::lowerReturn(), llvm::LegalizerHelper::narrowScalar(), selectCopy(), shouldUseAndMask(), llvm::CombinerHelper::tryCombineIndexedLoadStore(), llvm::LegalizerHelper::widenScalar(), llvm::X86CallLowering::X86CallLowering(), and X86SelectAddress().

◆ cloneMemRefs()

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

◆ cloneMergedMemRefs()

const MachineInstrBuilder& llvm::MachineInstrBuilder::cloneMergedMemRefs ( ArrayRef< const MachineInstr *>  OtherMIs) const
inline

◆ constrainAllUses()

bool llvm::MachineInstrBuilder::constrainAllUses ( const TargetInstrInfo TII,
const TargetRegisterInfo TRI,
const RegisterBankInfo RBI 
) const
inline

◆ copyImplicitOps()

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

◆ getInstr()

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

◆ getReg()

Register llvm::MachineInstrBuilder::getReg ( unsigned  Idx) const
inline

◆ operator MachineBasicBlock::iterator()

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

Definition at line 76 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 74 of file MachineInstrBuilder.h.

References MI.

◆ operator->()

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

Definition at line 75 of file MachineInstrBuilder.h.

References MI.

◆ setMemRefs()

const MachineInstrBuilder& llvm::MachineInstrBuilder::setMemRefs ( ArrayRef< MachineMemOperand *>  MMOs) const
inline

◆ 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: