Functions |
| STATISTIC (NumSunk, "Number of machineinstructions sunk") |
|
| STATISTIC (NumCycleSunk, "Number of machineinstructions sunk into a cycle") |
|
| STATISTIC (NumSplit, "Number of critical edges split") |
|
| STATISTIC (NumCoalesces, "Number ofcopies coalesced") |
|
| STATISTIC (NumPostRACopySink, "Number ofcopies sunk after RA") |
|
| INITIALIZE_PASS_BEGIN (MachineSinking,DEBUG_TYPE, "Machine code sinking", false, false)INITIALIZE_PASS_END(MachineSinking |
|
Machine code static falsebool | blockPrologueInterferes (constMachineBasicBlock *BB,MachineBasicBlock::const_iteratorEnd,constMachineInstr &MI,constTargetRegisterInfo *TRI,constTargetInstrInfo *TII,constMachineRegisterInfo *MRI) |
| Return true if a target defined block prologue instruction interferes with a sink candidate.
|
|
staticbool | mayLoadFromGOTOrConstantPool (MachineInstr &MI) |
| Return true if this machine instruction loads from global offset table or constant pool.
|
|
staticbool | SinkingPreventsImplicitNullCheck (MachineInstr &MI,constTargetInstrInfo *TII,constTargetRegisterInfo *TRI) |
| Return true if MI is likely to be usable as a memory operation by the implicit null check optimization.
|
|
staticbool | attemptDebugCopyProp (MachineInstr &SinkInst,MachineInstr &DbgMI,RegisterReg) |
| If the sunk instruction is a copy, try to forward the copy instead of leaving an 'undef' DBG_VALUE in the original location.
|
|
static void | performSink (MachineInstr &MI,MachineBasicBlock &SuccToSinkTo,MachineBasicBlock::iterator InsertPos,ArrayRef<MIRegs > DbgValuesToSink) |
| Sink an instruction and its associated debug instructions.
|
|
| INITIALIZE_PASS (PostRAMachineSinking, "postra-machine-sink", "PostRAMachine Sink", false, false) staticbool aliasWithRegsInLiveIn(MachineBasicBlock &MBB |
|
LiveInRegUnits | addLiveIns (MBB) |
|
return !LiveInRegUnits | available (Reg) |
|
staticMachineBasicBlock * | getSingleLiveInSuccBB (MachineBasicBlock &CurBB,constSmallPtrSetImpl<MachineBasicBlock * > &SinkableBBs,unsignedReg,constTargetRegisterInfo *TRI) |
|
staticMachineBasicBlock * | getSingleLiveInSuccBB (MachineBasicBlock &CurBB,constSmallPtrSetImpl<MachineBasicBlock * > &SinkableBBs,ArrayRef<unsigned > DefedRegsInCopy,constTargetRegisterInfo *TRI) |
|
static void | clearKillFlags (MachineInstr *MI,MachineBasicBlock &CurBB,SmallVectorImpl<unsigned > &UsedOpsInCopy,LiveRegUnits &UsedRegUnits,constTargetRegisterInfo *TRI) |
|
static void | updateLiveIn (MachineInstr *MI,MachineBasicBlock *SuccBB,SmallVectorImpl<unsigned > &UsedOpsInCopy,SmallVectorImpl<unsigned > &DefedRegsInCopy) |
|
staticbool | hasRegisterDependency (MachineInstr *MI,SmallVectorImpl<unsigned > &UsedOpsInCopy,SmallVectorImpl<unsigned > &DefedRegsInCopy,LiveRegUnits &ModifiedRegUnits,LiveRegUnits &UsedRegUnits) |
|
Variables |
staticcl::opt<bool > | SplitEdges ("machine-sink-split",cl::desc("Split critical edges during machine sinking"), cl::init(true), cl::Hidden) |
|
staticcl::opt<bool > | UseBlockFreqInfo ("machine-sink-bfi",cl::desc("Useblock frequencyinfo to find successors to sink"), cl::init(true), cl::Hidden) |
|
staticcl::opt<unsigned > | SplitEdgeProbabilityThreshold ("machine-sink-split-probability-threshold",cl::desc("Percentage thresholdfor splitting single-instruction critical edge. " "If the branch threshold is higher than this threshold, we allow " "speculativeexecution of up to 1 instruction to avoid branching to " "splitted critical edge"), cl::init(40), cl::Hidden) |
|
staticcl::opt<unsigned > | SinkLoadInstsPerBlockThreshold ("machine-sink-load-instrs-threshold",cl::desc("Do not try to find alias storefor aloadif there is a in-path " "block whose instruction number is higher than this threshold."), cl::init(2000), cl::Hidden) |
|
staticcl::opt<unsigned > | SinkLoadBlocksThreshold ("machine-sink-load-blocks-threshold",cl::desc("Do not try to find alias storefor aloadif theblock number in " "the straight line is higher than this threshold."), cl::init(20), cl::Hidden) |
|
staticcl::opt<bool > | SinkInstsIntoCycle ("sink-insts-to-avoid-spills",cl::desc("Sinkinstructions intocycles to avoid " "register spills"), cl::init(false), cl::Hidden) |
|
staticcl::opt<unsigned > | SinkIntoCycleLimit ("machine-sink-cycle-limit",cl::desc("The maximum number ofinstructions consideredfor cycle sinking."), cl::init(50), cl::Hidden) |
|
| DEBUG_TYPE |
|
Machine code | sinking |
|
Machine code | false |
|
unsigned | Reg |
|
unsignedconstTargetRegisterInfo * | TRI |
|
Return true if MI is likely to be usable as a memory operation by the implicit null check optimization.
This is a "best effort" heuristic, and should not be relied upon for correctness. This returning true does not guarantee that the implicit null check optimization is legal over MI, and this returning false does not guarantee MI cannot possibly be used to do a null check.
Definition at line1426 of fileMachineSink.cpp.
Referencesllvm::MachineOperand::getReg(),llvm::MachineOperand::isReg(),MBB,MI,llvm::Offset,llvm::MachineBasicBlock::pred_begin(),llvm::MachineBasicBlock::pred_size(),TII, andTRI.
Initial value:{
unsigned const TargetRegisterInfo * TRI
A set of register units used to track register liveness.
Definition at line2029 of fileMachineSink.cpp.
Referenced byllvm::AArch64RegisterBankInfo::AArch64RegisterBankInfo(),llvm::AArch64Subtarget::AArch64Subtarget(),llvm::LiveRegUnits::accumulateUsedDefed(),llvm::DwarfCompileUnit::addAddress(),llvm::DwarfCompileUnit::addComplexAddress(),llvm::SIMachineFunctionInfo::addDispatchID(),llvm::SIMachineFunctionInfo::addDispatchPtr(),llvm::ARMBaseInstrInfo::AddDReg(),addExclusiveRegPair(),llvm::SIMachineFunctionInfo::addFlatScratchInit(),llvm::SIMachineFunctionInfo::addImplicitBufferPtr(),llvm::SIMachineFunctionInfo::addKernargSegmentPtr(),llvm::addLiveIns(),llvm::DwarfExpression::addMachineReg(),llvm::DwarfExpression::addMachineRegExpression(),llvm::SITargetLowering::AddMemOpInit(),llvm::SIMachineFunctionInfo::addPreloadedKernArg(),llvm::SIMachineFunctionInfo::addPrivateSegmentBuffer(),llvm::SIMachineFunctionInfo::addQueuePtr(),llvm::LivePhysRegs::addReg(),llvm::LiveRegUnits::addReg(),addRegAndItsAliases(),llvm::LiveRegUnits::addRegMasked(),addRegsToSet(),addRegUnits(),llvm::PPCFrameLowering::addScavengingSpillSlot(),AddSubReg(),llvm::LiveVariables::addVirtualRegisterDead(),llvm::LiveVariables::addVirtualRegisterKilled(),AdjustBaseAndOffset(),llvm::SITargetLowering::AdjustInstrPostInstrSelection(),llvm::GCNSubtarget::adjustSchedDependency(),llvm::RegPressureTracker::advance(),llvm::SITargetLowering::allocateHSAUserSGPRs(),allocateHSAUserSGPRs(),llvm::SITargetLowering::allocatePreloadKernArgSGPRs(),llvm::SIMachineFunctionInfo::allocateVGPRSpillToAGPR(),llvm::LiveRangeEdit::allUsesAvailableAt(),AMDGPURegBankLegalizeCombiner::AMDGPURegBankLegalizeCombiner(),llvm::X86InstrInfo::analyzeBranchPredicate(),analyzeCandidate(),analyzeCompressibleUses(),llvm::AArch64InstrInfo::analyzeLoopForPipelining(),llvm::AnalyzePhysRegInBundle(),llvm::AnalyzeVirtRegLanesInBundle(),AnyAliasLiveIn(),appendScalableVectorExpression(),llvm::HexagonSubtarget::CallMutation::apply(),llvm::RISCVVectorMaskDAGMutation::apply(),applyBitsNotInRegMaskToRegUnitsMask(),llvm::AMDGPUCallLowering::areCalleeOutgoingArgsTailCallable(),areCFlagsAccessedBetweenInstrs(),llvm::AArch64InstrInfo::areMemAccessesTriviallyDisjoint(),llvm::LanaiInstrInfo::areMemAccessesTriviallyDisjoint(),llvm::PPCInstrInfo::areMemAccessesTriviallyDisjoint(),llvm::RISCVInstrInfo::areMemAccessesTriviallyDisjoint(),llvm::ARMRegisterBankInfo::ARMRegisterBankInfo(),llvm::HexagonFrameLowering::assignCalleeSavedSpillSlots(),llvm::M68kFrameLowering::assignCalleeSavedSpillSlots(),llvm::PPCFrameLowering::assignCalleeSavedSpillSlots(),llvm::SystemZELFFrameLowering::assignCalleeSavedSpillSlots(),llvm::SystemZXPLINKFrameLowering::assignCalleeSavedSpillSlots(),llvm::TargetFrameLowering::assignCalleeSavedSpillSlots(),llvm::LiveRegUnits::available(),llvm::CodeViewDebug::beginFunctionImpl(),blockPrologueInterferes(),llvm::CriticalAntiDepBreaker::BreakAntiDependencies(),llvm::ARMBaseInstrInfo::breakPartialRegDependency(),llvm::X86InstrInfo::breakPartialRegDependency(),buildAnyextOrCopy(),buildCallOperands(),llvm::AArch64InstrInfo::buildClearRegister(),llvm::X86InstrInfo::buildClearRegister(),buildEpilogRestore(),buildGitPtr(),buildPrologSpill(),buildScratchExecCopy(),llvm::RegPressureTracker::bumpDownwardPressure(),llvm::GCNDownwardRPTracker::bumpDownwardPressure(),llvm::RegPressureTracker::bumpUpwardPressure(),llvm::LiveIntervalCalc::calculate(),llvm::calculateDbgEntityHistory(),llvm::LiveRangeEdit::calculateRegClassAndHint(),canBeFeederToNewValueJump(),canClobberPhysRegDefs(),canClobberReachingPhysRegUse(),canCmpInstrBeRemoved(),canCompareBeNewValueJump(),canInstrSubstituteCmpInstr(),canRenameMOP(),canRenameUntilSecondLoad(),canRenameUpToDef(),llvm::AArch64FrameLowering::canUseAsPrologue(),CC_X86_64_VectorCall(),llvm::AArch64TargetLowering::changeStreamingMode(),checkAndUpdateCCRKill(),checkAndUpdateCPSRKill(),checkAndUpdateEFLAGSKill(),CheckForLiveRegDef(),CheckForPhysRegDependency(),llvm::SITargetLowering::checkForPhysRegDependency(),llvm::checkVOPDRegConstraints(),clearKillFlags(),cloneInstr(),llvm::CoalescerPair::CoalescerPair(),llvm::RegisterOperands::collect(),collectRegDefs(),collectVirtualRegUses(),computeCalleeSaveRegisterPairs(),llvm::HexagonBlockRanges::computeDeadMap(),computeFPBPAlignmentGap(),computeIndirectRegAndOffset(),computeIndirectRegIndex(),llvm::computeLiveIns(),llvm::HexagonBlockRanges::computeLiveMap(),computeLiveOuts(),llvm::TargetSchedModel::computeOutputLatency(),llvm::MachineBasicBlock::computeRegisterLiveness(),llvm::TargetLoweringBase::computeRegisterProperties(),llvm::LiveInterval::computeSubRangeUndefs(),llvm::MachineInstrBuilder::constrainAllUses(),llvm::constrainOperandRegClass(),llvm::constrainSelectedInstRegOperands(),consumesDstSelForwardingOperand(),llvm::MIRPrinter::convert(),convertArgumentInfo(),llvm::MIRPrinter::convertCallSiteObjects(),llvm::MIRPrinter::convertEntryValueObjects(),llvm::MIRPrinter::convertStackObjects(),llvm::AArch64InstrInfo::copyGPRRegTuple(),llvm::VirtRegAuxInfo::copyHint(),llvm::AArch64InstrInfo::copyPhysReg(),llvm::ARMBaseInstrInfo::copyPhysReg(),llvm::PPCInstrInfo::copyPhysReg(),llvm::SparcInstrInfo::copyPhysReg(),llvm::VEInstrInfo::copyPhysReg(),llvm::RISCVInstrInfo::copyPhysReg(),llvm::AVRInstrInfo::copyPhysReg(),llvm::X86InstrInfo::copyPhysReg(),llvm::AArch64InstrInfo::copyPhysRegTuple(),llvm::RISCVInstrInfo::copyPhysRegVector(),copyPhysSubRegs(),llvm::AllocationOrder::create(),llvm::createBURRListDAGScheduler(),llvm::createCFAOffset(),llvm::createCopyConstrainDAGMutation(),llvm::createDefCFA(),createDefCFAExpression(),createDefCFAOffset(),llvm::MipsFunctionInfo::createEhDataRegsFI(),llvm::XCoreFunctionInfo::createEHSpillSlot(),llvm::XCoreFunctionInfo::createFPSpillSlot(),llvm::createHybridListDAGScheduler(),llvm::createILPListDAGScheduler(),llvm::MipsFunctionInfo::createISRRegFI(),llvm::createLoadClusterDAGMutation(),llvm::XCoreFunctionInfo::createLRSpillSlot(),llvm::TargetInstrInfo::createMIROperandComment(),llvm::ARMBaseInstrInfo::createMIROperandComment(),llvm::RISCVInstrInfo::createMIROperandComment(),createPostIncLoadStore(),llvm::createRISCVVectorMaskDAGMutation(),llvm::createSourceListDAGScheduler(),llvm::createStoreClusterDAGMutation(),createTuple(),llvm::RISCVTargetLowering::decomposeSubvectorInsertExtractToSubRegs(),llvm::MachineInstr::definesRegister(),llvm::TargetInstrInfo::describeLoadedValue(),llvm::AArch64InstrInfo::describeLoadedValue(),llvm::MipsInstrInfo::describeLoadedValue(),llvm::X86InstrInfo::describeLoadedValue(),describeMOVrrLoadedValue(),describeORRLoadedValue(),llvm::AArch64FrameLowering::determineCalleeSaves(),llvm::ARMFrameLowering::determineCalleeSaves(),llvm::CSKYFrameLowering::determineCalleeSaves(),llvm::MipsSEFrameLowering::determineCalleeSaves(),llvm::SystemZELFFrameLowering::determineCalleeSaves(),llvm::TargetFrameLowering::determineCalleeSaves(),llvm::SIFrameLowering::determineCalleeSaves(),llvm::SIFrameLowering::determineCalleeSavesSGPR(),llvm::SIFrameLowering::determinePrologEpilogSGPRSaves(),llvm::MachineRegisterInfo::disableCalleeSavedRegister(),llvm::AMDGPUCallLowering::doCallerAndCalleePassArgsTheSameWay(),doesModifyCalleeSavedReg(),llvm::PressureDiff::dump(),llvm::RegisterPressure::dump(),llvm::RegisterBank::dump(),llvm::SDep::dump(),dump_registers(),llvm::TargetRegisterInfo::dumpReg(),llvm::dumpRegSetPressure(),llvm::VERegisterInfo::eliminateFrameIndex(),emitAlignedDPRCS2Restores(),emitAlignedDPRCS2Spills(),emitCalleeSavedRestores(),llvm::SIFrameLowering::emitCSRSpillRestores(),llvm::SIFrameLowering::emitCSRSpillStores(),llvm::DwarfDebug::emitDebugLocValue(),llvm::LiveDebugVariables::LDVImpl::emitDebugValues(),emitDefineCFAWithFP(),llvm::PPCTargetLowering::emitEHSjLjSetJmp(),llvm::SystemZTargetLowering::emitEHSjLjSetJmp(),llvm::VETargetLowering::emitEHSjLjSetJmp(),llvm::SIFrameLowering::emitEntryFunctionPrologue(),llvm::SIFrameLowering::emitEpilogue(),emitFrameOffsetAdj(),llvm::AArch64TargetLowering::EmitGetSMESaveSize(),emitIndirectDst(),emitIndirectSrc(),llvm::SITargetLowering::EmitInstrWithCustomInserter(),llvm::ARMTargetLowering::EmitInstrWithCustomInserter(),llvm::X86TargetLowering::EmitInstrWithCustomInserter(),emitLoadM0FromVGPRLoop(),emitLoadScalarOpsFromVGPRLoop(),llvm::AArch64FrameLowering::emitPrologue(),llvm::SIFrameLowering::emitPrologue(),llvm::CSKYFrameLowering::emitPrologue(),emitSCSPrologue(),emitVFROUND_NOEXCEPT_MASK(),emitVGSaveRestore(),estimateRSStackSizeLimit(),llvm::MipsFrameLowering::estimateStackSize(),llvm::examineCFlagsUse(),llvm::execMayBeModifiedBeforeAnyUse(),llvm::execMayBeModifiedBeforeUse(),llvm::GIMatchTableExecutor::executeMatchTable(),llvm::M68kInstrInfo::ExpandMOVSZX_RR(),llvm::M68kInstrInfo::ExpandMOVX_RR(),expandNOVLXLoad(),expandNOVLXStore(),llvm::AArch64InstrInfo::expandPostRAPseudo(),llvm::SIInstrInfo::expandPostRAPseudo(),llvm::ARMBaseInstrInfo::expandPostRAPseudo(),llvm::VEInstrInfo::expandPostRAPseudo(),llvm::X86InstrInfo::expandPostRAPseudo(),llvm::HexagonBlockRanges::expandToSubRegs(),expandXorFP(),llvm::finalizeBundle(),llvm::PPCInstrInfo::finalizeInsInstrs(),llvm::SITargetLowering::finalizeLowering(),FindAllMemoryUses(),llvm::findCMPToFoldIntoCBZ(),findDeadCallerSavedReg(),findHoistingInsertPosAndDeps(),findIncDecAfter(),findNextInsertLocation(),findRedundantFlagInstr(),llvm::MachineInstr::findRegisterDefOperand(),llvm::MachineInstr::findRegisterDefOperandIdx(),llvm::MachineInstr::findRegisterUseOperand(),llvm::MachineInstr::findRegisterUseOperandIdx(),findRenameRegForSameLdStRegPair(),llvm::TargetLoweringBase::findRepresentativeClass(),llvm::ARMTargetLowering::findRepresentativeClass(),llvm::X86TargetLowering::findRepresentativeClass(),findScratchNonCalleeSaveRegister(),findSurvivorBackwards(),findUseBetween(),findVCMPToFoldIntoVPST(),firstCommonClass(),llvm::TargetInstrInfo::foldMemoryOperand(),llvm::AArch64InstrInfo::foldMemoryOperandImpl(),llvm::SystemZInstrInfo::foldMemoryOperandImpl(),llvm::X86InstrInfo::foldMemoryOperandImpl(),foldVGPRCopyIntoRegSequence(),forAllMIsUntilDef(),foreachUnit(),llvm::MipsInstrInfo::genInstrWithNewOpc(),llvm::AArch64InstrInfo::getAddrModeFromMemoryOp(),llvm::MachineBasicBlock::getBeginClobberMask(),getBundledDefMI(),getBundledUseMI(),llvm::TargetFrameLowering::getCalleeSaves(),getCommonMinimalPhysRegClass(),getCopyRegClasses(),getCorrespondingDRegAndLane(),GetCostForDef(),llvm::PPCInstrInfo::getDefMIPostRA(),GetDSubRegs(),getDwarfRegNum(),llvm::MachineBasicBlock::getEndClobberMask(),llvm::PPCInstrInfo::getFMAPatterns(),getImplicitSPRUseForDPRUse(),llvm::AArch64RegisterBankInfo::getInstrAlternativeMappings(),llvm::X86RegisterBankInfo::getInstrAlternativeMappings(),llvm::AArch64RegisterBankInfo::getInstrMapping(),llvm::PPCRegisterBankInfo::getInstrMapping(),llvm::RISCVRegisterBankInfo::getInstrMapping(),llvm::X86RegisterBankInfo::getInstrMapping(),llvm::RegisterBankInfo::getInstrMappingImpl(),llvm::AVRRegisterInfo::getLargestLegalSuperClass(),llvm::RegisterClassInfo::getLastCalleeSavedAlias(),getLoadParameters(),getMaskForArgs(),getMax32BitSubRegister(),getMaxCalleeSavedReg(),llvm::RegPressureTracker::getMaxUpwardPressureDelta(),getMemcpyLoadsAndStores(),getMemmoveLoadsAndStores(),llvm::SIInstrInfo::getMemOperandsWithOffsetWidth(),llvm::LanaiInstrInfo::getMemOperandsWithOffsetWidth(),llvm::PPCInstrInfo::getMemOperandsWithOffsetWidth(),llvm::AArch64InstrInfo::getMemOperandsWithOffsetWidth(),llvm::RISCVInstrInfo::getMemOperandsWithOffsetWidth(),llvm::TargetInstrInfo::getMemOperandWithOffset(),getMemsetStores(),getMinimalPhysRegClass(),llvm::RegisterBankInfo::getMinimalPhysRegClass(),llvm::MipsFunctionInfo::getMoveF64ViaSpillFI(),getOperandSize(),llvm::MipsTargetLowering::getOpndList(),llvm::ARMBaseInstrInfo::getOutliningCandidateInfo(),llvm::RISCVInstrInfo::getOutliningTypeImpl(),llvm::ARMBaseInstrInfo::getOutliningTypeImpl(),llvm::ARMBaseInstrInfo::getPartialRegUpdateClearance(),llvm::X86InstrInfo::getPartialRegUpdateClearance(),llvm::MachineFrameInfo::getPristineRegs(),llvm::SystemZRegisterInfo::getRegAllocationHints(),llvm::X86RegisterInfo::getRegAllocationHints(),llvm::RegisterBankInfo::getRegBank(),llvm::RegisterBankInfo::getRegBankFromConstraints(),llvm::TargetInstrInfo::getRegClass(),llvm::X86InstrInfo::getRegClass(),llvm::MachineInstr::getRegClassConstraint(),llvm::MachineInstr::getRegClassConstraintEffect(),llvm::MachineInstr::getRegClassConstraintEffectForVReg(),getRegClassesForCopy(),llvm::SITargetLowering::getRegClassFor(),llvm::SITargetLowering::getRegForInlineAsmConstraint(),llvm::ARMTargetLowering::getRegForInlineAsmConstraint(),llvm::BPFTargetLowering::getRegForInlineAsmConstraint(),llvm::HexagonTargetLowering::getRegForInlineAsmConstraint(),llvm::LanaiTargetLowering::getRegForInlineAsmConstraint(),llvm::M68kTargetLowering::getRegForInlineAsmConstraint(),llvm::MSP430TargetLowering::getRegForInlineAsmConstraint(),llvm::NVPTXTargetLowering::getRegForInlineAsmConstraint(),llvm::PPCTargetLowering::getRegForInlineAsmConstraint(),llvm::RISCVTargetLowering::getRegForInlineAsmConstraint(),llvm::SparcTargetLowering::getRegForInlineAsmConstraint(),llvm::SystemZTargetLowering::getRegForInlineAsmConstraint(),llvm::VETargetLowering::getRegForInlineAsmConstraint(),llvm::X86TargetLowering::getRegForInlineAsmConstraint(),llvm::XtensaTargetLowering::getRegForInlineAsmConstraint(),llvm::SparcTargetLowering::getRegisterByName(),getRegisterName(),getRegistersForValue(),getRegisterSize(),getRegOpRC(),getRegTy(),llvm::WebAssemblyAsmPrinter::getRegType(),getRVVBaseRegister(),llvm::SIMachineFunctionInfo::getScavengeFI(),getSingleLiveInSuccBB(),llvm::RegisterBankInfo::getSizeInBits(),llvm::TargetInstrInfo::getStackSlotRange(),getSubRegForClass(),getTag(),llvm::VirtRegMap::getTargetRegInfo(),getVectorRegSpillRestoreOpcode(),getVectorRegSpillSaveOpcode(),getVGPRSpillLaneOrTempRegister(),llvm::PerTargetMIParsingState::getVRegFlagValue(),llvm::LiveIntervals::handleMove(),llvm::LiveIntervals::handleMoveIntoNewBundle(),llvm::LoongArchFrameLowering::hasBP(),llvm::MipsFrameLowering::hasBP(),llvm::RISCVFrameLowering::hasBP(),llvm::VEFrameLowering::hasBP(),llvm::M68kFrameLowering::hasFPImpl(),llvm::MipsFrameLowering::hasFPImpl(),llvm::hash_value(),hasRAWHazard(),hasWriteToReadDep(),llvm::LiveIntervals::HMEditor::HMEditor(),hoistAndMergeSGPRInits(),llvm::GCNRegPressure::inc(),llvm::LiveRegSet::init(),llvm::LivePhysRegs::init(),llvm::LiveRegUnits::init(),INITIALIZE_PASS(),initLiveUnits(),llvm::VEInstrInfo::insertBranch(),llvm::AArch64TargetLowering::insertCopiesSplitCSR(),llvm::SITargetLowering::insertCopiesSplitCSR(),insertCSRRestores(),insertCSRSaves(),llvm::SIInstrInfo::insertIndirectBranch(),llvm::LoongArchInstrInfo::insertIndirectBranch(),llvm::RISCVInstrInfo::insertIndirectBranch(),llvm::X86InstrInfo::insertSelect(),InstReorderLimit(),llvm::rdf::CopyPropagation::interpretAsCopy(),interpretValues(),invalidateRegisterPairing(),invalidateWindowsRegisterPairing(),isACalleeSavedRegister(),isAGPRCopy(),isAnyArgRegReserved(),llvm::outliner::Candidate::isAnyUnavailableAcrossOrOutOfSeq(),llvm::X86RegisterInfo::isArgumentRegister(),llvm::outliner::Candidate::isAvailableAcrossAndOutOfSeq(),llvm::outliner::Candidate::isAvailableInsideSeq(),isCallerPreservedOrConstPhysReg(),llvm::AArch64InstrInfo::isCandidateToMergeOrPair(),llvm::CoalescerPair::isCoalescable(),llvm::MachineRegisterInfo::isConstantPhysReg(),isConvertibleToVMV_V_V(),isCopyFeedingInvariantStore(),IsCopyFromSGPR(),isCrossCopy(),llvm::isCycleInvariant(),isDefBetween(),isEFLAGSLive(),llvm::AMDGPUCallLowering::isEligibleForTailCallOptimization(),llvm::SITargetLowering::isEligibleForTailCallOptimization(),isFIPlusImmOrVGPR(),llvm::X86RegisterInfo::isFixedRegister(),isFPBPAccess(),llvm::MachineOperand::isIdenticalTo(),llvm::GCNTTIImpl::isInlineAsmSourceOfDivergence(),isInvariantStore(),AMDGPURegBankLegalizeCombiner::isLaneMask(),isLdStSafeToCluster(),llvm::TargetLoweringBase::isLegalRC(),llvm::MachineLoop::isLoopInvariant(),isLRAvailable(),isMIModifiesReg(),isMIReadsReg(),isNonFoldablePartialRegisterLoad(),isNopCopy(),llvm::isNZCVTouchedInInstructionRange(),llvm::isOfRegClass(),IsOperandAMemoryOperand(),llvm::MachineRegisterInfo::isPhysRegModified(),llvm::MachineRegisterInfo::isPhysRegUsed(),llvm::ARMBaseInstrInfo::isProfitableToIfCvt(),isRegOtherThanSPAndFP(),llvm::MachineRegisterInfo::isReservedRegUnit(),IsSafeAndProfitableToMove(),llvm::TargetInstrInfo::isSchedulingBoundary(),llvm::SITargetLowering::isSDNodeSourceOfDivergence(),llvm::AMDGPU::isSGPR(),isSGPRToVGPRCopy(),isSubRegOf(),isSVERegOp(),isUnsafeToMoveAcross(),llvm::HexagonInstrInfo::isValidOffset(),isValidRegDefOf(),isValidRegUseOf(),isVCmpXWritesExec(),isVGPRToSGPRCopy(),isVRegCompatibleReg(),llvm::MachineInstr::killsRegister(),llvm::AMDGPULegalizerInfo::legalizeIntrinsic(),llvm::LivePhysRegs::LivePhysRegs(),llvm::LiveRegUnits::LiveRegUnits(),loadM0FromVGPR(),loadMBUFScalarOperandsFromVGPR(),llvm::MipsSEInstrInfo::loadRegFromStack(),llvm::AArch64InstrInfo::loadRegFromStackSlot(),llvm::ARMBaseInstrInfo::loadRegFromStackSlot(),llvm::Thumb2InstrInfo::loadRegFromStackSlot(),llvm::MipsInstrInfo::loadRegFromStackSlot(),llvm::PPCInstrInfo::loadRegFromStackSlot(),llvm::LoongArchInstrInfo::loadRegFromStackSlot(),llvm::RISCVInstrInfo::loadRegFromStackSlot(),llvm::SIInstrInfo::loadRegFromStackSlot(),llvm::ARCInstrInfo::loadRegFromStackSlot(),llvm::AVRInstrInfo::loadRegFromStackSlot(),llvm::M68kInstrInfo::loadRegFromStackSlot(),llvm::X86InstrInfo::loadRegFromStackSlot(),loadRegPairFromStackSlot(),lookupCandidateBaseReg(),llvm::SITargetLowering::LowerCall(),llvm::SystemZTargetLowering::LowerCall(),llvm::XtensaTargetLowering::LowerCall(),llvm::AArch64CallLowering::lowerCall(),llvm::AMDGPUCallLowering::lowerCall(),llvm::ARMCallLowering::lowerCall(),llvm::M68kCallLowering::lowerCall(),llvm::MipsCallLowering::lowerCall(),llvm::RISCVCallLowering::lowerCall(),llvm::X86CallLowering::lowerCall(),llvm::LoongArchTargetLowering::LowerCall(),llvm::RISCVTargetLowering::LowerCall(),llvm::VETargetLowering::LowerCall(),llvm::SparcTargetLowering::LowerCall_32(),llvm::SparcTargetLowering::LowerCall_64(),llvm::TargetInstrInfo::lowerCopy(),llvm::PPCRegisterInfo::lowerCRBitSpilling(),llvm::AMDGPUCallLowering::lowerFormalArguments(),llvm::SITargetLowering::LowerFormalArguments(),llvm::AMDGPUCallLowering::lowerFormalArgumentsKernel(),llvm::InlineAsmLowering::lowerInlineAsm(),llvm::SITargetLowering::LowerReturn(),lowerRISCVVMachineInstrToMCInst(),llvm::AMDGPUCallLowering::lowerTailCall(),llvm::RISCVRegisterInfo::lowerVRELOAD(),llvm::RISCVRegisterInfo::lowerVSPILL(),lowerWaveReduce(),llvm::GenericUniformityAnalysisImpl< ContextT >::markDefsDivergent(),llvm::MipsRegInfoRecord::MipsRegInfoRecord(),llvm::MachineInstr::modifiesRegister(),onlyAllocateTileRegisters(),llvm::ARMBaseInstrInfo::optimizeCompareInstr(),llvm::LanaiInstrInfo::optimizeCompareInstr(),llvm::X86InstrInfo::optimizeCompareInstr(),llvm::PPCInstrInfo::optimizeCompareInstr(),llvm::TargetLowering::ParseConstraints(),llvm::SITargetLowering::passSpecialInputs(),patchMatchingInput(),performCopyPropagation(),llvm::X86InstrInfo::preservesZeroValueInReg(),llvm::print(),llvm::MIPrinter::print(),llvm::LiveDebugVariables::LDVImpl::print(),llvm::RegisterBankInfo::OperandsMapper::print(),llvm::RegisterBank::print(),llvm::PhysicalRegisterUsageInfo::print(),llvm::MachineFunction::print(),llvm::LiveIntervalUnion::print(),llvm::MachineOperand::print(),llvm::MachineInstr::print(),llvm::MachineBasicBlock::print(),llvm::HexagonAsmPrinter::PrintAsmOperand(),llvm::ARMAsmPrinter::PrintAsmOperand(),llvm::AVRAsmPrinter::PrintAsmOperand(),printCFI(),printCFIRegister(),printCustomRegMask(),PrintNodeInfo(),llvm::ARMAsmPrinter::printOperand(),llvm::printReg(),llvm::printRegClassOrBank(),printRegClassOrBank(),printRegFlags(),printRegMIR(),llvm::printRegUnit(),llvm::MipsAsmPrinter::printSavedRegsBitmask(),llvm::MachineOperand::printSubRegIdx(),llvm::printVRegOrUnit(),llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(),llvm::PPCFrameLowering::processFunctionBeforeFrameFinalized(),llvm::XCoreFrameLowering::processFunctionBeforeFrameFinalized(),llvm::SIFrameLowering::processFunctionBeforeFrameIndicesReplaced(),llvm::PrologEpilogSGPRSpillBuilder::PrologEpilogSGPRSpillBuilder(),llvm::PPCInstrInfo::promoteInstr32To64ForElimEXTSW(),llvm::PSetIterator::PSetIterator(),llvm::MachineInstr::readsRegister(),llvm::TargetInstrInfo::reassociateOps(),llvm::RegPressureTracker::recede(),llvm::recomputeLivenessFlags(),llvm::MachineRegisterInfo::recomputeRegClass(),reduceDbgValsForwardScan(),llvm::LiveInterval::refineSubRanges(),llvm::registerDefinedBetween(),llvm::MachineInstr::registerDefIsDead(),regMaskFromTemplate(),regToString(),llvm::TargetInstrInfo::reMaterialize(),llvm::ARMBaseInstrInfo::reMaterialize(),llvm::X86InstrInfo::reMaterialize(),llvm::LiveIntervals::removeAllRegUnitsForPhysReg(),llvm::LiveIntervals::removePhysRegDefAt(),llvm::LivePhysRegs::removeReg(),llvm::LiveRegUnits::removeReg(),llvm::LiveIntervals::repairIntervalsInRange(),replaceFrameIndex(),llvm::PPCInstrInfo::replaceInstrOperandWithImm(),llvm::MachineRegisterInfo::replaceRegWith(),llvm::reportMismatch(),llvm::R600InstrInfo::reserveIndirectRegisters(),reservePrivateMemoryRegs(),llvm::MachineRegisterInfo::reserveReg(),llvm::AArch64FrameLowering::resetCFIToInitialState(),resetRegMaskBit(),llvm::SystemZELFFrameLowering::restoreCalleeSavedRegisters(),llvm::SystemZXPLINKFrameLowering::restoreCalleeSavedRegisters(),llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(),llvm::ARMFrameLowering::restoreCalleeSavedRegisters(),llvm::AVRFrameLowering::restoreCalleeSavedRegisters(),llvm::CSKYFrameLowering::restoreCalleeSavedRegisters(),llvm::M68kFrameLowering::restoreCalleeSavedRegisters(),llvm::PPCFrameLowering::restoreCalleeSavedRegisters(),llvm::RISCVFrameLowering::restoreCalleeSavedRegisters(),llvm::XCoreFrameLowering::restoreCalleeSavedRegisters(),llvm::XtensaFrameLowering::restoreCalleeSavedRegisters(),llvm::rewriteT2FrameIndex(),llvm::RISCVTargetLowering::RISCVTargetLowering(),llvm::RISCVVectorMaskDAGMutation::RISCVVectorMaskDAGMutation(),llvm::rdf::CopyPropagation::run(),llvm::SelectionDAGISel::runOnMachineFunction(),RemoveLoadsIntoFakeUses::runOnMachineFunction(),llvm::GCNRegPressurePrinter::runOnMachineFunction(),llvm::LiveDebugVariables::LDVImpl::runOnMachineFunction(),llvm::MachineFunction::salvageCopySSAImpl(),scavengeFrameVirtualRegsInBlock(),scavengeVReg(),llvm::RISCVDAGToDAGISel::Select(),selectCopy(),llvm::InstructionSelect::selectMachineFunction(),selectMergeValues(),selectUnmergeValues(),llvm::FunctionLoweringInfo::set(),setAliasRegs(),llvm::ARMBaseInstrInfo::setExecutionDomain(),llvm::MachineInstr::setPhysRegsDeadExcept(),llvm::CoalescerPair::setRegisters(),llvm::MIRParserImpl::setupRegisterInfo(),sgprPairNumber(),shareSameRegisterFile(),llvm::SIMachineFunctionInfo::shiftWwmVGPRsToLowestRange(),llvm::PPCInstrInfo::shouldClusterMemOps(),llvm::PPCInstrInfo::shouldReduceRegisterPressure(),shouldUseFrameHelper(),llvm::yaml::SIMachineFunctionInfo::SIMachineFunctionInfo(),SinkingPreventsImplicitNullCheck(),llvm::SITargetLowering::SITargetLowering(),llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(),llvm::SystemZXPLINKFrameLowering::spillCalleeSavedRegisters(),llvm::AArch64FrameLowering::spillCalleeSavedRegisters(),llvm::ARMFrameLowering::spillCalleeSavedRegisters(),llvm::AVRFrameLowering::spillCalleeSavedRegisters(),llvm::CSKYFrameLowering::spillCalleeSavedRegisters(),llvm::LoongArchFrameLowering::spillCalleeSavedRegisters(),llvm::M68kFrameLowering::spillCalleeSavedRegisters(),llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(),llvm::PPCFrameLowering::spillCalleeSavedRegisters(),llvm::RISCVFrameLowering::spillCalleeSavedRegisters(),llvm::XCoreFrameLowering::spillCalleeSavedRegisters(),llvm::XtensaFrameLowering::spillCalleeSavedRegisters(),spillVGPRtoAGPR(),llvm::MachineBasicBlock::SplitCriticalEdge(),llvm::stableHashValue(),STATISTIC(),storeRegPairToStackSlot(),llvm::MipsSEInstrInfo::storeRegToStack(),llvm::AArch64InstrInfo::storeRegToStackSlot(),llvm::ARMBaseInstrInfo::storeRegToStackSlot(),llvm::Thumb2InstrInfo::storeRegToStackSlot(),llvm::LoongArchInstrInfo::storeRegToStackSlot(),llvm::MipsInstrInfo::storeRegToStackSlot(),llvm::PPCInstrInfo::storeRegToStackSlot(),llvm::RISCVInstrInfo::storeRegToStackSlot(),llvm::SIInstrInfo::storeRegToStackSlot(),llvm::ARCInstrInfo::storeRegToStackSlot(),llvm::AVRInstrInfo::storeRegToStackSlot(),llvm::M68kInstrInfo::storeRegToStackSlot(),llvm::X86InstrInfo::storeRegToStackSlot(),stripValuesNotDefiningMask(),llvm::MachineOperand::substPhysReg(),llvm::MachineOperand::substVirtReg(),TrackDefUses(),transferImplicitOperands(),tryChangeVGPRtoSGPRinCopy(),llvm::tryFoldSPUpdateIntoPushPop(),llvm::tryPressure(),tryToFindRegisterToRename(),tryToGetTargetInfo(),llvm::X86InstrInfo::unfoldMemoryOperand(),unsupportedBinOp(),llvm::LiveIntervals::HMEditor::updateAllRanges(),updateLiveIn(),UpdateOperandRegClass(),updateOperandRegConstraints(),updatePhysDepsDownwards(),updatePhysDepsUpwards(),UpdatePredRedefs(),llvm::RegisterBank::verify(),llvm::RegisterBankInfo::verify(),llvm::VirtRegAuxInfo::weightCalcHelper(), andllvm::X86RegisterBankInfo::X86RegisterBankInfo().