LLVM 20.0.0git
Namespaces | Macros | Functions | Variables
HexagonCopyToCombine.cpp File Reference
#include "HexagonInstrInfo.h"
#include "HexagonSubtarget.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/Pass.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetMachine.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define DEBUG_TYPE   "hexagon-copy-combine"
 

Functions

FunctionPassllvm::createHexagonCopyToCombine ()
 
void llvm::initializeHexagonCopyToCombinePass (PassRegistry &)
 
 INITIALIZE_PASS (HexagonCopyToCombine, "hexagon-copy-combine", "Hexagon Copy-To-Combine Pass", false, false) static bool isCombinableInstType(MachineInstr &MI
 
template<unsigned N>
static bool isGreaterThanNBitTFRI (const MachineInstr &I)
 
static bool areCombinableOperations (const TargetRegisterInfo *TRI, MachineInstr &HighRegInst, MachineInstr &LowRegInst, bool AllowC64)
 areCombinableOperations - Returns true if the two instruction can be merge into a combine (ignoring register constraints).
 
static bool isEvenReg (unsigned Reg)
 
static void removeKillInfo (MachineInstr &MI, unsigned RegNotKilled)
 
static bool isUnsafeToMoveAcross (MachineInstr &MI, unsigned UseReg, unsigned DestReg, const TargetRegisterInfo *TRI)
 Returns true if it is unsafe to move a copy instruction from UseReg to DestReg over the instruction MI.
 
static Register UseReg (const MachineOperand &MO)
 

Variables

static cl::opt< boolIsCombinesDisabled ("disable-merge-into-combines", cl::Hidden, cl::desc("Disable merging into combines"))
 
static cl::opt< boolIsConst64Disabled ("disable-const64", cl::Hidden, cl::desc("Disable generation of const64"))
 
static cl::opt< unsignedMaxNumOfInstsBetweenNewValueStoreAndTFR ("max-num-inst-between-tfr-and-nv-store", cl::Hidden, cl::init(4), cl::desc("Maximum distance between a tfr feeding a store we " "consider the store still to be newifiable"))
 
const HexagonInstrInfoTII
 
const HexagonInstrInfo bool ShouldCombineAggressively
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "hexagon-copy-combine"

Definition at line 34 of file HexagonCopyToCombine.cpp.

Function Documentation

◆ areCombinableOperations()

static bool areCombinableOperations ( const TargetRegisterInfo TRI,
MachineInstr HighRegInst,
MachineInstr LowRegInst,
bool  AllowC64 
)
static

areCombinableOperations - Returns true if the two instruction can be merge into a combine (ignoring register constraints).

Definition at line 181 of file HexagonCopyToCombine.cpp.

References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), IsConst64Disabled, llvm::MachineOperand::isImm(), and llvm_unreachable.

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( HexagonCopyToCombine  ,
"hexagon-copy-combine"  ,
"Hexagon Copy-To-Combine Pass"  ,
false  ,
false   
) &

◆ isEvenReg()

static bool isEvenReg ( unsigned  Reg)
static

◆ isGreaterThanNBitTFRI()

template<unsigned N>
static bool isGreaterThanNBitTFRI ( const MachineInstr I)
static

Definition at line 170 of file HexagonCopyToCombine.cpp.

References I.

◆ isUnsafeToMoveAcross()

static bool isUnsafeToMoveAcross ( MachineInstr MI,
unsigned  UseReg,
unsigned  DestReg,
const TargetRegisterInfo TRI 
)
static

Returns true if it is unsafe to move a copy instruction from UseReg to DestReg over the instruction MI.

Definition at line 243 of file HexagonCopyToCombine.cpp.

References MI, TRI, and UseReg().

◆ removeKillInfo()

static void removeKillInfo ( MachineInstr MI,
unsigned  RegNotKilled 
)
static

Definition at line 235 of file HexagonCopyToCombine.cpp.

References MI.

◆ UseReg()

static Register UseReg ( const MachineOperand MO)
static

Variable Documentation

◆ IsCombinesDisabled

cl::opt< bool > IsCombinesDisabled("disable-merge-into-combines", cl::Hidden, cl::desc("Disable merging into combines")) ( "disable-merge-into-combines"  ,
cl::Hidden  ,
cl::desc("Disable merging into combines")   
)
static

◆ IsConst64Disabled

cl::opt< bool > IsConst64Disabled("disable-const64", cl::Hidden, cl::desc("Disable generation of const64")) ( "disable-const64"  ,
cl::Hidden  ,
cl::desc("Disable generation of const64")   
)
static

Referenced by areCombinableOperations().

◆ MaxNumOfInstsBetweenNewValueStoreAndTFR

cl::opt< unsigned > MaxNumOfInstsBetweenNewValueStoreAndTFR("max-num-inst-between-tfr-and-nv-store", cl::Hidden, cl::init(4), cl::desc("Maximum distance between a tfr feeding a store we " "consider the store still to be newifiable")) ( "max-num-inst-between-tfr-and-nv-store"  ,
cl::Hidden  ,
cl::init(4)  ,
cl::desc("Maximum distance between a tfr feeding a store we " "consider the store still to be newifiable")   
)
static

◆ ShouldCombineAggressively

const HexagonInstrInfo bool ShouldCombineAggressively

Definition at line 126 of file HexagonCopyToCombine.cpp.

◆ TII

Definition at line 125 of file HexagonCopyToCombine.cpp.

Referenced by addDecorations(), addImplicitDefs(), llvm::MachineBasicBlock::addLiveIn(), llvm::SITargetLowering::AddMemOpInit(), AdjustBaseAndOffset(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::SITargetLowering::AdjustInstrPostInstrSelection(), llvm::ARMTargetLowering::AdjustInstrPostInstrSelection(), llvm::RISCVRegisterInfo::adjustReg(), llvm::SIFrameLowering::allocateScavengingFrameIndexesNearIncomingSP(), appendEndToFunction(), areCandidatesToMergeOrPair(), llvm::ARMBasicBlockUtils::ARMBasicBlockUtils(), llvm::SPIRVGlobalRegistry::assignFloatTypeToVReg(), llvm::SPIRVGlobalRegistry::assignIntTypeToVReg(), assignSections(), llvm::SPIRVGlobalRegistry::assignVectTypeToVReg(), attemptDebugCopyProp(), llvm::DwarfDebug::beginInstruction(), blockPrologueInterferes(), buildAddr64RSrc(), buildGitPtr(), buildMUBUFOffsetLoadStore(), buildOffsetSrc(), llvm::buildOpDecorate(), BuildPACM(), buildScratchExecCopy(), llvm::SIRegisterInfo::buildSpillLoadStore(), llvm::SITargetLowering::bundleInstWithWaitcnt(), canClobberPhysRegDefs(), canClobberReachingPhysRegUse(), canFoldCopy(), canModifyToInlineImmOp32(), llvm::MachineBasicBlock::canSplitCriticalEdge(), llvm::AArch64PAuth::checkAuthenticatedRegister(), CheckForPhysRegDependency(), llvm::SITargetLowering::checkForPhysRegDependency(), llvm::checkVOPDRegConstraints(), cloneInstr(), CMSEPopCalleeSaves(), CMSEPushCalleeSaves(), CombineCVTAToLocal(), combineFPFusedMultiply(), combineRestoreADD(), combineRestoreOR(), combineRestoreSETHIi(), llvm::MachineFrameInfo::computeMaxCallFrameSize(), llvm::MachineInstrBuilder::constrainAllUses(), llvm::constrainOperandRegClass(), llvm::constrainSelectedInstRegOperands(), convertCalleeSaveRestoreToSPPrePostIncDec(), convertImplicitDefToConstZero(), copyDebugInfoToPredecessor(), copyDebugInfoToSuccessor(), createBBSelectReg(), llvm::createBURRListDAGScheduler(), createCall(), createCallWithOps(), llvm::createCopyConstrainDAGMutation(), createDedicatedExit(), llvm::createHybridListDAGScheduler(), llvm::createILPListDAGScheduler(), llvm::createLoadClusterDAGMutation(), createPHIsForCMOVsInSinkBB(), createPHIsForSelects(), createPostIncLoadStore(), createScratchRegisterForInstruction(), llvm::createSourceListDAGScheduler(), llvm::createStoreClusterDAGMutation(), definedBySignExtendingOp(), definedByZeroExtendingOp(), llvm::TargetInstrInfo::describeLoadedValue(), describeORRLoadedValue(), llvm::ARMFrameLowering::determineCalleeSaves(), llvm::CSKYFrameLowering::determineCalleeSaves(), llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::SIFrameLowering::determineCalleeSaves(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::WebAssemblyFrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::XtensaFrameLowering::eliminateCallFramePseudoInstr(), llvm::SIFrameLowering::eliminateCallFramePseudoInstr(), llvm::Thumb1FrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRFrameLowering::eliminateCallFramePseudoInstr(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::VERegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::CSKYRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::LoongArchRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::XtensaRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), emitAligningInstructions(), llvm::AArch64TargetLowering::EmitAllocateZABuffer(), llvm::emitARMRegPlusImmediate(), llvm::PPCTargetLowering::EmitAtomicBinary(), emitBuildPairF64Pseudo(), emitCalleeSavedRestores(), emitCallSPUpdate(), EmitCfiOffset(), emitComments(), llvm::SIFrameLowering::emitCSRSpillRestores(), llvm::SIFrameLowering::emitCSRSpillStores(), EmitDefCfaOffset(), EmitDefCfaRegister(), emitDefineCFAWithFP(), llvm::AArch64TargetLowering::EmitDynamicProbedAlloc(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::VETargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::VETargetLowering::emitEHSjLjSetJmp(), llvm::SIFrameLowering::emitEntryFunctionPrologue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::SIFrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::AVRFrameLowering::emitEpilogue(), llvm::CSKYFrameLowering::emitEpilogue(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::VEFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::VEFrameLowering::emitEpilogueInsns(), llvm::AArch64TargetLowering::EmitF128CSEL(), llvm::AArch64TargetLowering::EmitFill(), llvm::emitFrameOffset(), emitFrameOffsetAdj(), emitFROUND(), emitGPDisp(), llvm::SITargetLowering::emitGWSMemViolTestLoop(), emitIncrement(), emitIndirectDst(), emitIndirectSrc(), llvm::AArch64TargetLowering::EmitInitTPIDR2Object(), llvm::SystemZAsmPrinter::emitInstruction(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::AArch64TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::AArch64TargetLowering::EmitKCFICheck(), llvm::RISCVTargetLowering::EmitKCFICheck(), llvm::X86TargetLowering::EmitKCFICheck(), llvm::MachineRegisterInfo::EmitLiveInCopies(), emitLoad(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitLoadM0FromVGPRLoop(), emitLoadScalarOpsFromVGPRLoop(), EmitLoweredCascadedSelect(), emitLpad(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostLd(), emitPostSt(), llvm::PPCTargetLowering::emitProbedAlloca(), llvm::AArch64FrameLowering::emitPrologue(), llvm::SIFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::AVRFrameLowering::emitPrologue(), llvm::CSKYFrameLowering::emitPrologue(), llvm::LoongArchFrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), llvm::RISCVFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::SystemZXPLINKFrameLowering::emitPrologue(), llvm::VEFrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), emitPrologueEpilogueSPUpdate(), llvm::VEFrameLowering::emitPrologueInsns(), emitPseudoXVINSGR2VR(), emitQuietFCMP(), emitReadCounterWidePseudo(), emitRegPlusImmediate(), emitRegUpdate(), emitSCSEpilogue(), emitSCSPrologue(), emitSelectPseudo(), emitShadowCallStackEpilogue(), emitShadowCallStackPrologue(), llvm::MSP430TargetLowering::EmitShiftInstr(), llvm::VETargetLowering::emitSjLjDispatchBlock(), emitSplitF64Pseudo(), emitSPUpdate(), emitStore(), llvm::emitT2RegPlusImmediate(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), llvm::AArch64TargetLowering::EmitTileLoad(), emitVecCondBranchPseudo(), emitVFROUND_NOEXCEPT_MASK(), emitVGSaveRestore(), emitXBegin(), llvm::AArch64TargetLowering::EmitZAInstr(), llvm::AArch64TargetLowering::EmitZero(), llvm::AArch64TargetLowering::EmitZTInstr(), ensureEntrySetPrio(), estimateFunctionSizeInBytes(), EstimateFunctionSizeInBytes(), estimateRSStackSizeLimit(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::VEInstrInfo::expandExtendStackPseudo(), llvm::VEInstrInfo::expandGetStackTopPseudo(), expandLoadStackGuard(), expandMOV32r1(), ExpandMOVImmSExti8(), llvm::AArch64InstrInfo::expandPostRAPseudo(), llvm::SparcTargetLowering::expandSelectCC(), expandSGPRCopy(), expandXorFP(), extractRsrcPtr(), llvm::finalizeBundle(), llvm::MachineFunction::finalizeDebugInstrRefs(), llvm::SITargetLowering::finalizeLowering(), FindCallSeqStart(), findHoistingInsertPosAndDeps(), findJumpTableIndex(), llvm::findSplitPointForStackProtector(), llvm::fixStackStores(), FixTail(), foldInlineAsmMemOperand(), foldPatchpoint(), llvm::InstCombinerImpl::foldSelectOpOp(), foldVGPRCopyIntoRegSequence(), forceReg(), fuseInst(), fuseTwoAddrInst(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), genAlternativeDpCodeSequence(), generateEndPgm(), generateStackAdjustment(), genFNegatedMAD(), genFusedMultiply(), genFusedMultiplyAcc(), genFusedMultiplyAccNeg(), genFusedMultiplyIdx(), genFusedMultiplyIdxNeg(), genIndexedMultiply(), genMaddR(), genNeg(), genShXAddAddShift(), genSubAdd2SubSub(), genTPEntry(), genTPLoopBody(), getBBAddrMapMetadata(), getBBFallenThrough(), getCopyRewriter(), GetCostForDef(), llvm::getEHScopeMembership(), llvm::MachineBasicBlock::getFallThrough(), getFirstNonPrologue(), getFlatScratchSpillOpcode(), llvm::MachineInstr::getFoldedRestoreSize(), llvm::MachineInstr::getFoldedSpillSize(), llvm::getFunctionLiveInPhysReg(), llvm::ARMHazardRecognizerFPMLx::getHazardType(), getHWReg(), getIndirectSGPRIdx(), llvm::TargetSchedModel::getInstrInfo(), llvm::RegisterBankInfo::getInstrMappingImpl(), llvm::AVRInstrInfo::getInstSizeInBytes(), llvm::MSP430InstrInfo::getInstSizeInBytes(), getInstSizeInBytes(), llvm::SystemZTTIImpl::getIntImmCostInst(), getLastNonPseudo(), getNewSource(), getNumAllocatableRegsForConstraints(), llvm::SDNode::getOperationName(), llvm::SPIRVGlobalRegistry::getOrCreateConstFP(), llvm::SPIRVGlobalRegistry::getOrCreateConstInt(), llvm::SPIRVGlobalRegistry::getOrCreateConstIntArray(), llvm::SPIRVGlobalRegistry::getOrCreateConstVector(), getOrCreateFrameHelper(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVArrayType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVBoolType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVFloatType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVIntegerType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVType(), llvm::SPIRVGlobalRegistry::getOrCreateSPIRVVectorType(), llvm::SPIRVGlobalRegistry::getOrCreateUndef(), getPhysicalRegisterVT(), llvm::SITargetLowering::getPrefLoopAlignment(), llvm::PPCTargetLowering::getPrefLoopAlignment(), llvm::RegisterBankInfo::getRegBankFromConstraints(), llvm::MachineInstr::getRegClassConstraint(), llvm::MachineInstr::getRegClassConstraintEffect(), llvm::MachineInstr::getRegClassConstraintEffectForVReg(), getRegClassForUnfoldedLoad(), llvm::R600RegisterInfo::getReservedRegs(), llvm::MachineInstr::getRestoreSize(), getSchedRegions(), llvm::ARMTargetLowering::getSchedulingPreference(), llvm::MachineInstr::getSpillSize(), getTargetFlagName(), getTargetIndexName(), getTargetMMOFlagName(), handleMIFlagDecoration(), hasAnyNonFlatUseOfReg(), hasSameValue(), llvm::HexagonHazardRecognizer::HexagonHazardRecognizer(), hoistAndMergeSGPRInits(), IfNeededExtSP(), IfNeededLDAWSP(), indirectCopyToAGPR(), llvm::PreRARematStage::initGCNSchedStage(), llvm::MipsFunctionInfo::initGlobalBaseReg(), llvm::ConvergingVLIWScheduler::initialize(), llvm::R600SchedStrategy::initialize(), INITIALIZE_PASS(), llvm::PPCFrameLowering::inlineStackProbe(), llvm::AArch64TargetLowering::insertCopiesSplitCSR(), llvm::SITargetLowering::insertCopiesSplitCSR(), insertCopy(), insertCSRRestores(), insertCSRSaves(), insertDeleteInstructions(), insertDivByZeroTrap(), InsertFPConstInst(), InsertFPImmInst(), InsertLDR_STR(), llvm::insertMultibyteShift(), InsertNewDef(), insertNoopsInBundle(), insertNopBeforeInstruction(), insertPHI(), llvm::SIInstrInfo::insertScratchExecCopy(), InsertSEH(), insertSEH(), insertSEHRange(), InsertSPConstInst(), insertSpeculationBarrier(), InsertSPImmInst(), InsertUncondBranch(), insertUndefLaneMask(), InstReorderLimit(), interpretValues(), isAnalyzableBB(), isCallerPreservedOrConstPhysReg(), IsChainDependent(), isCopyOf(), isCopyOfBundle(), llvm::isCycleInvariant(), llvm::SIRegisterInfo::isFrameOffsetLegal(), isFuncOrHeaderInstr(), isLdOffsetInRangeOfSt(), llvm::isLegalAddressImm(), IsLegalOffset(), isLegalOrConvertableAddressImm(), isLibCallInTailPosition(), isLoadStoreThatCanHandleDisplacement(), llvm::MachineLoop::isLoopInvariant(), isNopCopy(), llvm::VirtRegAuxInfo::isRematerializable(), isSafeToFoldImmIntoCopy(), isSchedBoundary(), isSendMsgTraceDataOrGDS(), isSignExtended(), llvm::SystemZVectorConstantInfo::isVectorConstantLegal(), jumpTableHasOtherUses(), llvm::LiveRangeEdit::LiveRangeEdit(), loadM0FromVGPR(), loadMBUFScalarOperandsFromVGPR(), AMDGPUMCInstLower::lower(), llvm::LegalizerHelper::lower(), llvm::PPCRegisterInfo::lowerACCRestore(), llvm::PPCRegisterInfo::lowerACCSpilling(), llvm::LegalizerHelper::lowerBitCount(), llvm::M68kCallLowering::lowerCall(), llvm::X86CallLowering::lowerCall(), LowerCallResults(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), LowerFPToInt(), llvm::PPCRegisterInfo::lowerOctWordSpilling(), llvm::PPCRegisterInfo::lowerPrepareProbedAlloca(), llvm::PPCRegisterInfo::lowerQuadwordRestore(), llvm::PPCRegisterInfo::lowerQuadwordSpilling(), lowerRISCVVMachineInstrToMCInst(), llvm::RISCVRegisterInfo::lowerVRELOAD(), llvm::RISCVRegisterInfo::lowerVSPILL(), llvm::PPCRegisterInfo::lowerWACCRestore(), llvm::PPCRegisterInfo::lowerWACCSpilling(), lowerWaveReduce(), makeM0Inst(), MatchingStackOffset(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::RISCVRegisterInfo::materializeFrameBaseRegister(), llvm::MachineInstr::mayAlias(), maybeRewriteToFallthrough(), llvm::ModuloScheduleExpander::ModuloScheduleExpander(), llvm::ModuloScheduleExpanderMVE::ModuloScheduleExpanderMVE(), moveAndTeeForMultiUse(), llvm::SIRegisterInfo::needsFrameBaseReg(), llvm::SystemZELFFrameLowering::orderFrameObjects(), llvm::PeelSingleBlockLoop(), performCopyPropagation(), llvm::SITargetLowering::PerformDAGCombine(), popRegsFromStack(), llvm::SITargetLowering::PostISelFolding(), llvm::PPCRegisterInfo::prepareDynamicAlloca(), llvm::VETargetLowering::prepareMBB(), llvm::VETargetLowering::prepareSymbol(), llvm::MIPrinter::print(), llvm::MachineInstr::print(), llvm::MachineBasicBlock::print(), llvm::MachineOperand::print(), llvm::MachineMemOperand::print(), printMemOperand(), llvm::MachineOperand::printTargetFlags(), llvm::AArch64InstrInfo::probedStackAlloc(), llvm::AArch64FrameLowering::processFunctionBeforeFrameFinalized(), llvm::LoongArchFrameLowering::processFunctionBeforeFrameFinalized(), llvm::RISCVFrameLowering::processFunctionBeforeFrameFinalized(), llvm::SIFrameLowering::processFunctionBeforeFrameFinalized(), llvm::PrologEpilogSGPRSpillBuilder::PrologEpilogSGPRSpillBuilder(), pushRegsToStack(), readsLaneSubset(), llvm::TargetInstrInfo::reassociateOps(), llvm::MachineRegisterInfo::recomputeRegClass(), replaceFI(), replaceFrameIndex(), reportIllegalCopy(), llvm::AArch64FrameLowering::resetCFIToInitialState(), llvm::AArch64RegisterInfo::resolveFrameIndex(), llvm::SIRegisterInfo::resolveFrameIndex(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::ThumbRegisterInfo::resolveFrameIndex(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::ResourceManager::ResourceManager(), llvm::SystemZELFFrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::AVRFrameLowering::restoreCalleeSavedRegisters(), llvm::CSKYFrameLowering::restoreCalleeSavedRegisters(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), llvm::RISCVFrameLowering::restoreCalleeSavedRegisters(), llvm::XCoreFrameLowering::restoreCalleeSavedRegisters(), restoreCRs(), RestoreSpillList(), llvm::restoreStatusRegister(), llvm::RevertDoLoopStart(), llvm::RevertLoopDec(), llvm::RevertLoopEnd(), RevertWhileLoopSetup(), llvm::RevertWhileLoopStartLR(), llvm::rewriteAArch64FrameIndex(), llvm::rewriteARMFrameIndex(), llvm::ThumbRegisterInfo::rewriteFrameIndex(), llvm::rewriteT2FrameIndex(), rollbackRestoreSplit(), runImpl(), llvm::CFIFixup::runOnMachineFunction(), llvm::MachinePipeliner::runOnMachineFunction(), llvm::VirtRegMap::runOnMachineFunction(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), llvm::SPIRVModuleAnalysis::runOnModule(), llvm::MachineFunction::salvageCopySSA(), llvm::MachineFunction::salvageCopySSAImpl(), salvageDebugInfoFromEmptyBlock(), llvm::Mips16RegisterInfo::saveScavengerRegister(), selectCopy(), selectMergeValues(), selectUnmergeValues(), llvm::FunctionLoweringInfo::set(), setCallTargetReg(), setM0ToIndexFromSGPR(), llvm::VETargetLowering::setupEntryBlockForSjLj(), llvm::TargetRegisterInfo::shouldRegionSplitForVirtReg(), shouldRematerialize(), shouldScheduleVOPDAdjacent(), signOutlinedFunction(), SinkingPreventsImplicitNullCheck(), llvm::MachineBasicBlock::SkipPHIsAndLabels(), llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug(), llvm::SystemZELFFrameLowering::spillCalleeSavedRegisters(), llvm::SystemZXPLINKFrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::CSKYFrameLowering::spillCalleeSavedRegisters(), llvm::LoongArchFrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::RISCVFrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), spillRegPairs(), spillVGPRtoAGPR(), splitEdge(), llvm::SITargetLowering::splitKillBlock(), splitMBB(), STATISTIC(), llvm::SystemZHazardRecognizer::SystemZHazardRecognizer(), tryChangeVGPRtoSGPRinCopy(), tryOptimizeLEAtoMOV(), tryToGetTargetInfo(), tryToSplitRestore(), unstackifyVRegsUsedInSplitBB(), updateBranches(), UpdateOperandRegClass(), updateOperandRegConstraints(), updateTerminator(), llvm::MachineBasicBlock::updateTerminator(), usedAsAddr(), vectorPseudoHasAllNBitUsers(), llvm::VirtRegAuxInfo::weightCalcHelper(), llvm::SITargetLowering::wrapAddr64Rsrc(), and llvm::WebAssemblyFrameLowering::writeSPToGlobal().