LLVM  6.0.0svn
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/PassSupport.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Include dependency graph for HexagonCopyToCombine.cpp:

Go to the source code of this file.

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

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). More...
 
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. More...
 
static unsigned UseReg (const MachineOperand &MO)
 

Variables

static cl::opt< boolIsCombinesDisabled ("disable-merge-into-combines", cl::Hidden, cl::ZeroOrMore, cl::init(false), cl::desc("Disable merging into combines"))
 
static cl::opt< boolIsConst64Disabled ("disable-const64", cl::Hidden, cl::ZeroOrMore, cl::init(false), 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 33 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 184 of file HexagonCopyToCombine.cpp.

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

Referenced by UseReg().

◆ 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

◆ 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 249 of file HexagonCopyToCombine.cpp.

References llvm::MachineInstr::hasUnmodeledSideEffects(), llvm::MachineInstr::isInlineAsm(), llvm::MachineInstr::isMetaInstruction(), llvm::MachineInstr::modifiesRegister(), and llvm::MachineInstr::readsRegister().

Referenced by UseReg().

◆ removeKillInfo()

static void removeKillInfo ( MachineInstr MI,
unsigned  RegNotKilled 
)
static

◆ UseReg()

static unsigned UseReg ( const MachineOperand MO)
static

Definition at line 258 of file HexagonCopyToCombine.cpp.

References llvm::MachineInstrBuilder::addBlockAddress(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::addRegisterKilled(), areCombinableOperations(), assert(), llvm::MachineFunction::begin(), llvm::BuildMI(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::clear(), llvm::SmallVectorImpl< T >::clear(), contains(), llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::count(), llvm::dbgs(), DEBUG, llvm::CodeGenOpt::Default, llvm::WebAssembly::End, llvm::MachineBasicBlock::end(), llvm::MachineFunction::end(), llvm::MachineInstr::eraseFromParent(), F(), llvm::MachineOperand::getBlockAddress(), llvm::MachineFunction::getFunction(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::HexagonSubtarget::getInstrInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::getKillRegState(), llvm::TargetRegisterInfo::getMatchingSuperReg(), llvm::MachineOperand::getOffset(), llvm::MachineInstr::getOperand(), llvm::TargetMachine::getOptLevel(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::HexagonSubtarget::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::MachineOperand::getTargetFlags(), llvm::Function::hasFnAttribute(), I, llvm::detail::DenseSetImpl< ValueT, DenseMap< ValueT, detail::DenseSetEmpty, ValueInfoT, detail::DenseSetPair< ValueT > >, ValueInfoT >::insert(), llvm::MachineOperand::isBlockAddress(), IsCombinesDisabled, IsConst64Disabled, llvm::MachineOperand::isCPI(), llvm::MachineInstr::isDebugValue(), isEvenReg(), llvm::MachineOperand::isGlobal(), llvm::MachineOperand::isImm(), llvm::isInt< 8 >(), llvm::MachineOperand::isJTI(), llvm::MachineOperand::isKill(), llvm::MachineOperand::isReg(), isUnsafeToMoveAcross(), llvm::MachineOperand::isUse(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm::MachineInstr::killsRegister(), llvm_unreachable, MaxNumOfInstsBetweenNewValueStoreAndTFR, llvm::HexagonInstrInfo::mayBeNewStore(), MI, llvm::MachineInstr::modifiesRegister(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::MachineInstr::readsRegister(), removeKillInfo(), llvm::SmallVectorTemplateCommon< T >::size(), llvm::MachineBasicBlock::splice(), and llvm::HexagonSubtarget::useHVXOps().

Referenced by getCompareCC(), getComparePred(), isSExtLoad(), and isUseSafeToFold().

Variable Documentation

◆ IsCombinesDisabled

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

Referenced by UseReg().

◆ IsConst64Disabled

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

Referenced by UseReg().

◆ 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"))
static

Referenced by UseReg().

◆ ShouldCombineAggressively

const HexagonInstrInfo bool ShouldCombineAggressively

Definition at line 129 of file HexagonCopyToCombine.cpp.

◆ TII

Definition at line 128 of file HexagonCopyToCombine.cpp.

Referenced by addExclusiveRegPair(), llvm::MachineBasicBlock::addLiveIn(), addLiveInRegs(), llvm::ARMFrameLowering::adjustForSegmentedStacks(), llvm::SITargetLowering::AdjustInstrPostInstrSelection(), llvm::ARMTargetLowering::AdjustInstrPostInstrSelection(), llvm::analyzeArguments(), areCandidatesToMergeOrPair(), AssignProtectedObjSet(), BBHasFallthrough(), BBIsJumpedOver(), bitOpWithConstantIsReducible(), branchMaxOffsets(), buildMUBUFOffsetLoadStore(), buildVector(), CalcNodeSethiUllmanNumber(), callHasRegMask(), canClobberPhysRegDefs(), canEnableCoalescing(), canMoveInstsAcrossMemOp(), llvm::LiveRangeEdit::canRematerializeAt(), llvm::MachineBasicBlock::canSplitCriticalEdge(), CC_MipsO32_FP64(), changeFCMPPredToAArch64CC(), CheckForLiveRegDef(), llvm::LiveRangeEdit::checkRematerializable(), CombineCVTAToLocal(), combineRestoreSETHIi(), CompareMBBNumbers(), llvm::computeBlockSize(), computeBytesPoppedByCalleeForSRet(), llvm::MachineFrameInfo::computeMaxCallFrameSize(), ContainsReg(), countersNonZero(), createBBSelectReg(), llvm::createBURRListDAGScheduler(), llvm::createCopyConstrainDAGMutation(), llvm::createFalkorMarkStridedAccessesPass(), llvm::createHybridListDAGScheduler(), llvm::createILPListDAGScheduler(), llvm::createLoadClusterDAGMutation(), createPHIsForCMOVsInSinkBB(), llvm::createR600ExpandSpecialInstrsPass(), llvm::createR600ISelDag(), llvm::createSIDebuggerInsertNopsPass(), llvm::createSIFixWWMLivenessPass(), llvm::createSILowerI1CopiesPass(), llvm::createSIWholeQuadModePass(), llvm::createSourceListDAGScheduler(), llvm::createSparcDelaySlotFillerPass(), llvm::createStoreClusterDAGMutation(), llvm::createSystemZLDCleanupPass(), llvm::createSystemZShortenInstPass(), llvm::createWebAssemblyFixIrreducibleControlFlow(), llvm::createWebAssemblyLowerBrUnless(), llvm::createX86FixupBWInsts(), llvm::createX86FixupLEAs(), llvm::createX86FixupSetCC(), llvm::createX86GlobalBaseRegPass(), llvm::createX86OptimizeLEAs(), llvm::createX86PadShortFunctions(), llvm::createXCoreFrameToArgsOffsetEliminationPass(), llvm::Mips16FrameLowering::determineCalleeSaves(), llvm::ARMFrameLowering::determineCalleeSaves(), doesNotGeneratecode(), llvm::VirtRegMap::dump(), dumpMachineInstrRangeWithSlotIndex(), llvm::AArch64FrameLowering::eliminateCallFramePseudoInstr(), llvm::MSP430FrameLowering::eliminateCallFramePseudoInstr(), llvm::WebAssemblyFrameLowering::eliminateCallFramePseudoInstr(), llvm::AVRFrameLowering::eliminateCallFramePseudoInstr(), llvm::Thumb1FrameLowering::eliminateCallFramePseudoInstr(), llvm::XCoreFrameLowering::eliminateCallFramePseudoInstr(), llvm::ARCFrameLowering::eliminateCallFramePseudoInstr(), llvm::PPCFrameLowering::eliminateCallFramePseudoInstr(), llvm::BPFRegisterInfo::eliminateFrameIndex(), llvm::MSP430RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::WebAssemblyRegisterInfo::eliminateFrameIndex(), llvm::LanaiRegisterInfo::eliminateFrameIndex(), llvm::AVRRegisterInfo::eliminateFrameIndex(), llvm::ARCRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::eliminateFrameIndex(), llvm::ThumbRegisterInfo::eliminateFrameIndex(), llvm::SystemZRegisterInfo::eliminateFrameIndex(), llvm::AArch64RegisterInfo::eliminateFrameIndex(), llvm::SIRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), emitAlignedDPRCS2Restores(), emitAlignedDPRCS2Spills(), llvm::PPCTargetLowering::EmitAtomicBinary(), llvm::AArch64FrameLowering::emitCalleeSavedFrameMoves(), emitClzero(), emitComments(), llvm::SparcTargetLowering::emitEHSjLjLongJmp(), llvm::PPCTargetLowering::emitEHSjLjLongJmp(), llvm::SparcTargetLowering::emitEHSjLjSetJmp(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::AVRFrameLowering::emitEpilogue(), llvm::Thumb1FrameLowering::emitEpilogue(), llvm::Mips16FrameLowering::emitEpilogue(), llvm::MipsSEFrameLowering::emitEpilogue(), llvm::SparcFrameLowering::emitEpilogue(), llvm::MSP430FrameLowering::emitEpilogue(), llvm::XCoreFrameLowering::emitEpilogue(), llvm::ARMFrameLowering::emitEpilogue(), llvm::AArch64FrameLowering::emitEpilogue(), llvm::ARCFrameLowering::emitEpilogue(), llvm::WebAssemblyFrameLowering::emitEpilogue(), llvm::PPCFrameLowering::emitEpilogue(), llvm::AArch64TargetLowering::EmitF128CSEL(), emitGPDisp(), emitIndirectDst(), emitIndirectSrc(), llvm::R600TargetLowering::EmitInstrWithCustomInserter(), llvm::RISCVTargetLowering::EmitInstrWithCustomInserter(), llvm::BPFTargetLowering::EmitInstrWithCustomInserter(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::MSP430TargetLowering::EmitInstrWithCustomInserter(), llvm::SITargetLowering::EmitInstrWithCustomInserter(), llvm::ARMTargetLowering::EmitInstrWithCustomInserter(), llvm::MipsTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::X86TargetLowering::EmitInstrWithCustomInserter(), llvm::ARMBaseRegisterInfo::emitLoadConstPool(), emitMonitor(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), emitPostSt(), llvm::AVRFrameLowering::emitPrologue(), llvm::Thumb1FrameLowering::emitPrologue(), llvm::Mips16FrameLowering::emitPrologue(), llvm::MipsSEFrameLowering::emitPrologue(), llvm::SparcFrameLowering::emitPrologue(), llvm::MSP430FrameLowering::emitPrologue(), llvm::XCoreFrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), llvm::ARCFrameLowering::emitPrologue(), llvm::AArch64FrameLowering::emitPrologue(), llvm::WebAssemblyFrameLowering::emitPrologue(), llvm::PPCFrameLowering::emitPrologue(), emitRDPKRU(), llvm::MSP430TargetLowering::EmitShiftInstr(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), emitWRPKRU(), llvm::LiveRangeEdit::eraseVirtReg(), llvm::InstructionSelector::executeMatchTable(), llvm::SparcTargetLowering::expandSelectCC(), llvm::finalizeBundle(), FindCallSeqStart(), findIncDecAfter(), findNextInsertLocation(), llvm::MachineInstr::findRegisterDefOperand(), FindStartOfTree(), findTemporariesForLR(), forceReg(), fuseInstructionPair(), llvm::AArch64InstrInfo::genAlternativeCodeSequence(), getAdjustedCmp(), getAllSGPRs(), llvm::IRTranslator::getAnalysisUsage(), llvm::HexagonFrameLowering::getCalleeSavedSpillSlots(), getCmpForPseudo(), getCombinerObjective(), getCompareCC(), getComparePred(), getCompareSourceReg(), GetDSubRegs(), getEquivalentCallShort(), llvm::ARMTargetLowering::getExceptionSelectorRegister(), llvm::MachineBasicBlock::getFallThrough(), getFrameIndexOperandNum(), llvm::getFuncletMembership(), llvm::ARMHazardRecognizer::getHazardType(), getImplicitScaleFactor(), llvm::RegisterBankInfo::getInstrMappingImpl(), llvm::MSP430InstrInfo::getInstSizeInBytes(), llvm::AVRInstrInfo::getInstSizeInBytes(), llvm::SystemZTTIImpl::getIntImmCost(), llvm::RegisterBankInfo::getInvalidInstructionMapping(), getLeaOP(), getLoadStoreOffsetAlign(), getLSMultipleTransferSize(), getMappedOp(), llvm::SISubtarget::getMaxNumVGPRs(), getMFHiLoOpc(), getNextMachineInstr(), getNodeRegMask(), getNonDebugInstr(), getNumExtraSGPRs(), getOModValue(), llvm::SDNode::getOperationName(), getOrExecSource(), getPHIDestReg(), getPostIndexedLoadStoreOpcode(), llvm::PPCTargetLowering::getPrefLoopAlignment(), getPreviousInstr(), getReassignedChan(), llvm::MachineInstr::getRegClassConstraintEffectForVReg(), getRegClassFromGRPhysReg(), llvm::R600RegisterInfo::getReservedRegs(), getSchedRegions(), llvm::ARMTargetLowering::getSchedulingPreference(), llvm::X86InstrInfo::getSerializableDirectMachineOperandTargetFlags(), llvm::Legalizer::getSetProperties(), getStoreTarget(), getSubOpcode(), getTag(), getTargetIndexName(), llvm::rdf::DataFlowGraph::getTII(), getUnconditionalBrDisp(), getUnderlyingArgReg(), llvm::HexagonSubtarget::getVectorLength(), getX86SSEConditionCode(), getZeroLatency(), llvm::MipsTargetLowering::HandleByVal(), HasArgumentDef(), hasOneNonDBGUseInst(), hasTrivialSuccessor(), llvm::HexagonBlockRanges::HexagonBlockRanges(), hoistAndMergeSGPRInits(), llvm::ConvergingVLIWScheduler::initialize(), INITIALIZE_PASS(), initSlots2Values(), llvm::SITargetLowering::insertCopiesSplitCSR(), llvm::AArch64TargetLowering::insertCopiesSplitCSR(), llvm::PPCTargetLowering::insertCopiesSplitCSR(), insertCopy(), insertCSRRestores(), insertCSRSaves(), insertDAGNode(), insertDeleteInstructions(), InsertLDR_STR(), insertNopBeforeInstruction(), insertPHI(), llvm::Mips16RegisterInfo::intRegClass(), IsChainDependent(), isCompareZero(), isCopy(), llvm::isCopyMulResult(), isDbgValueDescribedByReg(), isFpMulInstruction(), isFullCopyOf(), isFullUndefDef(), isHardwareLoop(), isImplicitlyDef(), isImplicitOperandIn(), isInRage(), llvm::X86TargetLowering::isIntDivCheap(), isLEA(), isLEASimpleIncOrDec(), isLive(), isLiveOut(), llvm::ARMBaseInstrInfo::isLoadFromStackSlotPostFE(), isMergeableLdStUpdate(), isMulPowOf2(), isOperandOf(), llvm::rdf::TargetOperandInfo::isPreserving(), llvm::rdf::DataFlowGraph::IsPreservingDef(), IsPseudoCallIndirect(), llvm::isPushOpcode(), IsSafeAndProfitableToMove(), isScaledConstantInRange(), isSecondInstructionInSequence(), isSExtLoad(), isSimpleIf(), isSourceDefinedByImplicitDef(), isStackPtrRelative(), llvm::AArch64InstrInfo::isSubregFoldable(), IsUnconditionalJump(), isUseSafeToFold(), llvm::MachineRegisterInfo::liveins(), LoopIsOuterMostWithPredecessor(), llvm::AMDGPUMCInstLower::lower(), llvm::X86CallLowering::lowerCall(), llvm::PPCRegisterInfo::lowerCRBitRestore(), llvm::PPCRegisterInfo::lowerCRBitSpilling(), llvm::PPCRegisterInfo::lowerCRRestore(), llvm::PPCRegisterInfo::lowerCRSpilling(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::PPCRegisterInfo::lowerDynamicAreaOffset(), lowerVECTOR_SHUFFLE_VSHF(), llvm::PPCRegisterInfo::lowerVRSAVERestore(), llvm::PPCRegisterInfo::lowerVRSAVESpilling(), llvm::LiveRangeEdit::Delegate::LRE_DidCloneVirtReg(), makeImplicit(), MatchingStackOffset(), llvm::AArch64RegisterInfo::materializeFrameBaseRegister(), llvm::SIRegisterInfo::materializeFrameBaseRegister(), llvm::PPCRegisterInfo::materializeFrameBaseRegister(), llvm::ARMBaseRegisterInfo::materializeFrameBaseRegister(), mayAlias(), MaybeRewriteToFallthrough(), llvm::MIPrinter::MIPrinter(), Mips16WhichOp8uOr16simm(), MoveAndTeeForMultiUse(), llvm::X86TargetLowering::needsFixedCatchObjects(), opcodeEmitsNoInsts(), packCmovGroup(), parseCond(), performCustomAdjustments(), llvm::R600TargetLowering::PerformDAGCombine(), PlaceMarkers(), llvm::SITargetLowering::PostISelFolding(), llvm::MIPrinter::print(), llvm::HexagonBlockRanges::PrintRangeMap::PrintRangeMap(), llvm::MIPrinter::printTargetFlags(), profitImm(), readsVCCZ(), llvm::TargetInstrInfo::reassociateOps(), llvm::MachineRegisterInfo::recomputeRegClass(), llvm::PostGenericScheduler::releaseBottomNode(), llvm::LiveRangeEdit::rematerializeAt(), replaceFI(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::ThumbRegisterInfo::resolveFrameIndex(), llvm::AArch64RegisterInfo::resolveFrameIndex(), llvm::SIRegisterInfo::resolveFrameIndex(), llvm::PPCRegisterInfo::resolveFrameIndex(), llvm::ARMBaseRegisterInfo::resolveFrameIndex(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), llvm::AVRFrameLowering::restoreCalleeSavedRegisters(), llvm::Thumb1FrameLowering::restoreCalleeSavedRegisters(), llvm::SystemZFrameLowering::restoreCalleeSavedRegisters(), llvm::XCoreFrameLowering::restoreCalleeSavedRegisters(), llvm::MSP430FrameLowering::restoreCalleeSavedRegisters(), llvm::AArch64FrameLowering::restoreCalleeSavedRegisters(), llvm::PPCFrameLowering::restoreCalleeSavedRegisters(), restoreCRs(), llvm::SIRegisterInfo::restoreSGPR(), llvm::rewriteAArch64FrameIndex(), llvm::UnreachableBlockElimPass::run(), llvm::InsertNOPLoad::runOnMachineFunction(), llvm::VirtRegMap::runOnMachineFunction(), llvm::FixAllFDIVSQRT::runOnMachineFunction(), llvm::AMDGPUAsmPrinter::runOnMachineFunction(), llvm::AVRDynAllocaSR::runOnMachineFunction(), llvm::Mips16RegisterInfo::saveScavengerRegister(), llvm::ThumbRegisterInfo::saveScavengerRegister(), llvm::ScheduleDAGMILive::scheduleMI(), llvm::FunctionLoweringInfo::set(), setCallTargetReg(), llvm::RegScavenger::setRegUsed(), shrinkScalarCompare(), llvm::SIFrameLowering::SIFrameLowering(), llvm::MachineBasicBlock::SkipPHIsAndLabels(), llvm::MachineBasicBlock::SkipPHIsLabelsAndDebug(), llvm::SparcFrameLowering::SparcFrameLowering(), llvm::AVRFrameLowering::spillCalleeSavedRegisters(), llvm::Thumb1FrameLowering::spillCalleeSavedRegisters(), llvm::SystemZFrameLowering::spillCalleeSavedRegisters(), llvm::MipsSEFrameLowering::spillCalleeSavedRegisters(), llvm::XCoreFrameLowering::spillCalleeSavedRegisters(), llvm::MSP430FrameLowering::spillCalleeSavedRegisters(), llvm::AArch64FrameLowering::spillCalleeSavedRegisters(), llvm::PPCFrameLowering::spillCalleeSavedRegisters(), llvm::SIRegisterInfo::spillSGPR(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::SITargetLowering::splitKillBlock(), subRangeLiveAt(), tieOpsIfNeeded(), tryFoldInst(), tryOptimizeLEAtoMOV(), trySequenceOfOnes(), UpdateOperandRegClass(), llvm::MachineBasicBlock::updateTerminator(), usedAsAddr(), WindowsRequiresStackProbe(), llvm::SITargetLowering::wrapAddr64Rsrc(), writeSPToMemory(), X86ChooseCmpImmediateOpcode(), X86SelectAddress(), and llvm::AntiDepBreaker::~AntiDepBreaker().