LLVM API Documentation

MachineDominators.cpp File Reference

#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/Passes.h"

Include dependency graph for MachineDominators.cpp:

Go to the source code of this file.

Functions

 TEMPLATE_INSTANTIATION (class DomTreeNodeBase< MachineBasicBlock >)
 TEMPLATE_INSTANTIATION (class DominatorTreeBase< MachineBasicBlock >)

Variables

static RegisterPass
< MachineDominatorTree > 
E ("machinedomtree","MachineDominator Tree Construction", true)


Function Documentation

TEMPLATE_INSTANTIATION ( class DominatorTreeBase< MachineBasicBlock >   ) 

TEMPLATE_INSTANTIATION ( class DomTreeNodeBase< MachineBasicBlock >   ) 


Variable Documentation

RegisterPass<MachineDominatorTree> E("machinedomtree","MachineDominator Tree Construction", true) [static]

Referenced by llvm::PMDataManager::add(), llvm::AliasSetTracker::add(), AddBlockAndPredsToSet(), llvm::MachineModuleInfo::addFilterTypeInfo(), llvm::LiveIntervals::addIntervalsForSpills(), llvm::LiveIntervals::addIntervalsForSpillsFast(), llvm::Module::addLibrary(), addLoopIntoQueue(), llvm::Timer::addPeakMemoryMeasurement(), llvm::IntrinsicLowering::AddPrototypes(), AddReachableCodeToWorklist(), AllCalleesPassInValidPointerForArgument(), AllGlobalLoadUsesSimpleEnoughForHeapSRA(), AllUsersAreLoads(), AllUsesOfLoadedValueWillTrapIfNull(), AllUsesOfValueWillTrapIfNull(), AnalyzeGlobal(), ApproximateLoopSize(), llvm::SelectionDAG::AssignTopologicalOrder(), BBHasFallthrough(), BlockIsSimpleEnoughToThreadThrough(), llvm::ScheduleDAGInstrs::BuildSchedGraph(), calcMaxScratches(), CalcNodeSethiUllmanNumber(), calcTypeName(), llvm::Calculate(), llvm::Interpreter::callFunction(), canFallThroughTo(), llvm::AliasAnalysis::canInstructionRangeModify(), CanPropagatePredecessorsForPHIs(), ChangeCalleesToFastCall(), CheckForEscapingAllocas(), CleanupConstantGlobalUsers(), llvm::Archive::cleanUpMemory(), llvm::StringMap< llvm::StringPool::PooledString >::clear(), llvm::GCModuleInfo::clear(), llvm::DenseMap< const llvm::BasicBlock *, llvm::MachineBasicBlock * >::clear(), llvm::CloneAndPruneFunctionInto(), CloneDominatorInfo(), llvm::CloneFunction(), llvm::CloneFunctionInto(), CloneLoop(), llvm::CloneLoop(), llvm::CloneModule(), llvm::CloneTrace(), closestSucc(), llvm::PMTopLevelManager::collectLastUses(), llvm::PMDataManager::collectRequiredAnalysis(), llvm::DominanceFrontierBase::compare(), llvm::DominatorTreeBase< llvm::MachineBasicBlock >::compare(), llvm::DomTreeNodeBase< llvm::MachineBasicBlock >::compare(), llvm::DominanceFrontierBase::compareDomSet(), llvm::StableBasicBlockNumbering::compute(), llvm::FoldingSetNodeID::ComputeHash(), llvm::LiveIntervals::computeNumbering(), llvm::LiveIntervals::conflictsWithPhysRegDef(), llvm::LiveIntervals::conflictsWithPhysRegRef(), llvm::LoopInfoBase< llvm::MachineBasicBlock >::ConsiderForLoop(), llvm::ConstantArray::ConstantArray(), llvm::ConstantFoldGetElementPtr(), llvm::ConstantFoldLoadThroughGEPConstantExpr(), ConstantIsDead(), ConstantPropUsersOf(), llvm::ConstantStruct::ConstantStruct(), llvm::ConstantVector::ConstantVector(), llvm::TargetRegisterClass::contains(), llvm::AliasSetTracker::containsPointer(), copyCatchInfo(), llvm::SmallPtrSetImpl::count_imp(), CreateRegClassMask(), llvm::LPPassManager::deleteLoopFromQueue(), llvm::ExecutionEngine::deleteModuleProvider(), llvm::CallGraph::destroy(), llvm::DFSPass(), llvm::X86IntelAsmPrinter::doFinalization(), llvm::X86ATTAsmPrinter::doFinalization(), llvm::MachOWriter::doFinalization(), llvm::ELFWriter::doFinalization(), llvm::AsmPrinter::doFinalization(), llvm::X86IntelAsmPrinter::doInitialization(), llvm::AsmPrinter::doInitialization(), llvm::Module::dropAllReferences(), llvm::Function::dropAllReferences(), llvm::BasicBlock::dropAllReferences(), llvm::SDNode::DropOperands(), llvm::ValueSymbolTable::dump(), llvm::PMStack::dump(), llvm::SUnit::dumpAll(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMDataManager::dumpLastUses(), llvm::PMDataManager::dumpPassArguments(), llvm::PMTopLevelManager::dumpPasses(), llvm::MachineRegisterInfo::dumpUses(), llvm::AsmPrinter::EmitConstantPool(), llvm::X86RegisterInfo::emitFrameMoves(), llvm::ExecutionEngine::emitGlobals(), EmitLiveInCopies(), llvm::ScheduleDAG::EmitPhysRegCopy(), llvm::XCoreRegisterInfo::emitPrologue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SPURegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::ARMRegisterInfo::emitPrologue(), llvm::RegScavenger::enterBasicBlock(), equals(), llvm::SmallSet< llvm::Instruction *, 8 >::erase(), llvm::iplist< llvm::Instruction >::erase(), llvm::iplist< llvm::Instruction >::erase_if(), llvm::SmallPtrSetImpl::erase_imp(), EvaluateFunction(), EvaluateStaticConstructor(), F(), FindAllMemoryUses(), llvm::PMTopLevelManager::findAnalysisPass(), llvm::findBBStopPoint(), FindCallEndFromCallStart(), llvm::findDbgDeclare(), findFalseBlock(), findFlagUse(), FindIntervalInVector(), llvm::Archive::findModulesDefiningSymbols(), findSuperReg(), llvm::Deserializer::FinishedBlock(), FoldBranchToCommonDest(), llvm::TargetInstrInfo::foldMemoryOperand(), FoldValueComparisonIntoPredecessors(), llvm::AttrListPtr::get(), llvm::Archive::getAllModules(), llvm::TargetRegisterInfo::getAllocatableSet(), getAllocatableSetForRC(), GetAllUndefinedSymbols(), llvm::SelectionDAG::getArgFlags(), llvm::SelectionDAG::getAtomic(), llvm::SelectionDAG::getBasicBlock(), getBitCastOperand(), llvm::ProfileInfoLoader::getBlockCounts(), llvm::SelectionDAG::getCall(), llvm::TargetMachineRegistry::getClosestStaticTargetForModule(), llvm::TargetMachineRegistry::getClosestTargetForJIT(), getCommonReturnValue(), getConflictWeight(), llvm::SelectionDAG::getConstantPool(), llvm::SelectionDAG::getConvertRndSat(), llvm::ProfileInfoLoader::getEdgeCounts(), llvm::LoopBase< BlockT >::getExitBlocks(), llvm::LoopBase< BlockT >::getExitingBlocks(), llvm::MachineModuleInfo::getFilterIDFor(), llvm::SelectionDAG::getFrameIndex(), llvm::ProfileInfoLoader::getFunctionCounts(), llvm::TargetInstrInfoImpl::GetFunctionSizeInBytes(), llvm::SelectionDAG::getGlobalAddress(), llvm::ExecutionEngine::getGlobalValueAtAddress(), getGlobalVariablesUsing(), llvm::DenseMapInfo< Expression >::getHashValue(), llvm::SelectionDAG::getIndexedStore(), llvm::InlineCostAnalyzer::getInlineCost(), llvm::SelectionDAG::getJumpTable(), llvm::SelectionDAG::getLabel(), llvm::InstrItineraryData::getLatency(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::SelectionDAG::getMemOperand(), GetMinTrailingZeros(), getNextBlock(), getNextStopPoint(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getNodeIfExists(), llvm::MemoryDependenceAnalysis::getNonLocalCallDependency(), llvm::LoopBase< BlockT >::getNumBackEdges(), llvm::EquivalenceClasses< ElemTy >::getNumClasses(), llvm::LiveIntervals::getNumConflictsWithPhysReg(), llvm::FoldingSetImpl::GetOrInsertNode(), llvm::TargetRegisterInfo::getPhysicalRegisterRegClass(), llvm::TargetLowering::getRegForInlineAsmConstraint(), llvm::SelectionDAG::getRegister(), llvm::BasicBlock::getSinglePredecessor(), llvm::LiveInterval::getSize(), llvm::SourceFunctionInfo::getSourceLocation(), llvm::ConstantVector::getSplatValue(), llvm::SelectionDAG::getSrcValue(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTruncStore(), getTypeDescription(), llvm::LoopBase< BlockT >::getUniqueExitBlocks(), llvm::BasicBlock::getUniquePredecessor(), llvm::MachineRegisterInfo::getVRegDef(), llvm::SelectionDAG::getVTList(), GlobalUsersSafeToSRA(), HandleInlinedInvoke(), llvm::LiveVariables::HandleVirtRegUse(), HandleVRSaveUpdate(), hasAddressTaken(), llvm::SDNode::hasAnyUseOfValue(), llvm::CallSite::hasArgument(), hasCopyToRegUse(), llvm::Value::hasNUses(), llvm::SDNode::hasNUsesOfValue(), llvm::Value::hasNUsesOrMore(), llvm::Value::hasOneUse(), llvm::MachineInstr::hasVolatileMemoryRef(), HoistThenElseCodeToIf(), llvm::ValueEnumerator::incorporateFunction(), llvm::ScheduleDAGTopologicalSort::InitDAGTopologicalSorting(), llvm::PMTopLevelManager::initializeAllAnalysisInfo(), llvm::PMDataManager::initializeAnalysisImpl(), llvm::InlineFunction(), llvm::BasicInlinerImpl::inlineFunctions(), llvm::SmallPtrSetImpl::insert_imp(), llvm::SCEVExpander::InsertCastOfTo(), llvm::LPPassManager::insertLoop(), llvm::LiveIntervals::intervalIsInOneMBB(), llvm::IntervalPartition::IntervalPartition(), InvalidateRegDef(), isAllocatableRegister(), llvm::ConstantVector::isAllOnesValue(), llvm::Archive::isBitcodeArchive(), llvm::isCriticalEdge(), llvm::LoopBase< BlockT >::isLCSSAForm(), llvm::MachineRegisterInfo::isLiveIn(), isLiveInButUnusedBefore(), isLiveOut(), llvm::Interval::isLoop(), isOnlyCopiedFromConstantGlobal(), llvm::LiveInterval::isOnlyLROfValNo(), isOnlyUsedInEntryBlock(), IsOnlyUsedInZeroEqualityComparison(), llvm::SDNode::isOnlyUserOf(), llvm::X86InstrInfo::isReallyTriviallyReMaterializable(), isSafeSROAElementUse(), isSafeToLoadUnconditionally(), isSafeToSinkLoad(), isTrivialLoopExitBlockHelper(), llvm::Value::isUsedInBasicBlock(), isUsedOutsideLoop(), llvm::Instruction::isUsedOutsideOfBlock(), isUsedOutsideOfDefiningBlock(), IsUserOfGlobalSafeForSRA(), llvm::LiveInterval::join(), LimitedSumOfUnscheduledPredsOfSuccs(), LinkAlias(), LinkFunctionBodies(), LinkFunctionBody(), LinkFunctionProtos(), LinkGlobalInits(), LinkGlobals(), llvm::Linker::LinkInArchive(), llvm::Linker::LinkInItems(), llvm::Linker::LinkInLibraries(), llvm::Linker::LinkModules(), LLVMDeleteTypeName(), LLVMFunctionType(), LLVMGetBasicBlocks(), LLVMGetParams(), LLVMGetParamTypes(), LLVMGetStructElementTypes(), LLVMStructType(), LoadUsesSimpleEnoughForHeapSRA(), llvm::SparcTargetLowering::LowerArguments(), llvm::TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), LowerCALL(), llvm::TargetLowering::LowerCallTo(), llvm::Mangler::makeNameProper(), MarkAliveBlocks(), MarkBlocksLiveIn(), llvm::LiveVariables::MarkVirtRegAliveInBlock(), llvm::BitcodeReader::materializeFunction(), llvm::BitcodeReader::materializeModule(), llvm::LiveInterval::MergeInClobberRanges(), llvm::LiveInterval::MergeRangesInAsValue(), llvm::LiveInterval::MergeValueInAsValue(), llvm::SelectionDAG::MorphNodeTo(), OnlyCalledDirectly(), OnlyUsedBy(), operator<<(), llvm::operator<<(), llvm::EquivalenceClasses< ElemTy >::operator=(), llvm::SmallVectorImpl< const const const std::pair< char *, std::pair< U::entry *, char * > > >::operator==(), OptimizeAwayTrappingUsesOfLoads(), OptimizeAwayTrappingUsesOfValue(), OptimizeCmpExpression(), OptimizeNoopCopyExpression(), llvm::InlineAsm::ConstraintInfo::Parse(), llvm::cl::ParseCommandLineOptions(), llvm::InlineAsm::ParseConstraints(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformHeapAllocSRoA(), llvm::PointerMayBeCaptured(), llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMDataManager::preserveHigherLevelAnalysis(), llvm::SparseSolver::Print(), llvm::ScalarEvolution::print(), llvm::MachineFunction::print(), llvm::MachineBasicBlock::print(), llvm::LoopVR::print(), llvm::LoopInfoBase< llvm::MachineBasicBlock >::print(), llvm::LoopBase< BlockT >::print(), llvm::LiveStacks::print(), llvm::LiveIntervals::print(), llvm::LiveInterval::print(), llvm::Interval::print(), llvm::FindUsedTypes::print(), llvm::DominanceFrontierBase::print(), llvm::CallGraphNode::print(), llvm::CallGraph::print(), llvm::AliasSetTracker::print(), llvm::AliasSet::print(), llvm::PrintDomTree(), PrintLoopInfo(), PrintMap(), PrintUnmangledNameSafely(), llvm::ARMRegisterInfo::processFunctionBeforeCalleeSavedScan(), llvm::LatencyPriorityQueue::push_impl(), llvm::BitstreamReader::ReadAbbrevRecord(), llvm::Deserializer::ReadUIntPtr(), llvm::DominatorTreeBase< llvm::MachineBasicBlock >::recalculate(), regIsPICBase(), llvm::PassInfo::registerPass(), llvm::Deserializer::RegisterPtr(), llvm::StringMapImpl::RehashTable(), llvm::LoopVR::releaseMemory(), llvm::LoopInfoBase< llvm::MachineBasicBlock >::releaseMemory(), llvm::LiveIntervals::releaseMemory(), llvm::RemapInstruction(), RemapInstruction(), llvm::DominanceFrontierBase::removeBlock(), llvm::GlobalValue::removeDeadConstantUsers(), llvm::Inliner::removeDeadFunctions(), llvm::SelectionDAG::RemoveDeadNodes(), llvm::PMDataManager::removeDeadPasses(), llvm::MemoryDependenceAnalysis::removeInstruction(), llvm::LiveInterval::removeKills(), llvm::Module::removeLibrary(), llvm::ExecutionEngine::removeModuleProvider(), RemoveNestAttribute(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::SUnit::removePred(), RemoveUnreachableBlocksFromFn(), llvm::LiveInterval::removeValNo(), RemoveVRSaveCode(), llvm::MachineFunction::RenumberBlocks(), llvm::SelectionDAG::ReplaceAllUsesOfValuesWith(), llvm::MachineRegisterInfo::replaceRegWith(), llvm::User::replaceUsesOfWith(), ReplaceUsesOfWith(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), llvm::ConstantArray::replaceUsesOfWithOnConstant(), llvm::DominatorTreeBase< llvm::MachineBasicBlock >::reset(), ResolveAliases(), llvm::BitcodeReaderValueList::ResolveConstantForwardRefs(), RewriteHeapSROALoadUser(), RewriteUsesOfLoadForHeapSRoA(), llvm::DAGTypeLegalizer::run(), llvm::UnifyFunctionExitNodes::runOnFunction(), llvm::SelectionDAGISel::runOnFunction(), llvm::BasicBlockPass::runOnFunction(), llvm::LPPassManager::runOnFunction(), llvm::IntervalPartition::runOnFunction(), llvm::X86IntelAsmPrinter::runOnMachineFunction(), llvm::X86ATTAsmPrinter::runOnMachineFunction(), llvm::SimpleRegisterCoalescing::runOnMachineFunction(), llvm::DebugLabelFolder::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::FPPassManager::runOnModule(), llvm::FunctionPass::runOnModule(), llvm::FindUsedTypes::runOnModule(), llvm::Inliner::runOnSCC(), SafeToMergeTerminators(), llvm::LatencyPriorityQueue::ScheduledNode(), llvm::PMTopLevelManager::schedulePass(), llvm::sys::DynamicLibrary::SearchForAddressOfSymbol(), llvm::FunctionLoweringInfo::set(), llvm::set_intersect(), llvm::SUnit::setDepthDirty(), llvm::SUnit::setHeightDirty(), llvm::PMTopLevelManager::setLastUser(), llvm::SimplifyCFG(), SimplifyCondBranchToCondBranch(), llvm::SparseSolver::Solve(), SpeculativelyExecuteBB(), llvm::LiveIntervals::spillPhysRegAroundRegDefsUses(), llvm::DominatorTreeBase< llvm::MachineBasicBlock >::Split(), llvm::BasicBlock::splitBasicBlock(), llvm::DominanceFrontier::splitBlock(), llvm::SplitBlock(), llvm::SplitCriticalEdge(), llvm::SplitCriticalMachineEdge(), SplitEdgeNicely(), StripDebugInfo(), StripSymbolNames(), StripTypeSymtab(), TryToShrinkGlobalToBoolean(), TryToSinkInstruction(), llvm::iplist< llvm::Instruction >::unique(), llvm::UnrollLoop(), UpdateCallGraphAfterInlining(), llvm::ValueEnumerator::ValueEnumerator(), ValueIsOnlyUsedLocallyOrStoredToOneGlobal(), llvm::LoopBase< BlockT >::verifyLoop(), llvm::PMDataManager::verifyPreservedAnalysis(), llvm::VirtRegMap::virtFolded(), llvm::ScheduleDAGTopologicalSort::WillCreateCycle(), WriteFunction(), WriteModule(), WriteModuleInfo(), llvm::GraphWriter< GraphType >::writeNodes(), llvm::Archive::writeSymbolTable(), llvm::Archive::writeToDisk(), WriteTypeTable(), WriteValueSymbolTable(), llvm::AsmPrinter::~AsmPrinter(), llvm::DenseMap< const llvm::BasicBlock *, llvm::MachineBasicBlock * >::~DenseMap(), llvm::Deserializer::~Deserializer(), llvm::GCStrategy::~GCStrategy(), llvm::MPPassManager::~MPPassManager(), llvm::PMDataManager::~PMDataManager(), llvm::PMTopLevelManager::~PMTopLevelManager(), llvm::ProgramInfo::~ProgramInfo(), llvm::TargetData::~TargetData(), and llvm::Value::~Value().