LLVM API Documentation

Namespaces | Functions
LoopInfoImpl.h File Reference
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/Dominators.h"
Include dependency graph for LoopInfoImpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Functions

template<class BlockT , class LoopT >
static void llvm::discoverAndMapSubloop (LoopT *L, ArrayRef< BlockT * > Backedges, LoopInfoBase< BlockT, LoopT > *LI, DominatorTreeBase< BlockT > &DomTree)

Variable Documentation

std::vector<std::pair<BlockT*, SuccIterTy> > DFSStack

Definition at line 414 of file LoopInfoImpl.h.

LoopInfoBase<BlockT, LoopT>* LI

Definition at line 412 of file LoopInfoImpl.h.

Referenced by llvm::AliasSetTracker::add(), AddAliasScopeMetadata(), llvm::LivePhysRegs::addLiveIns(), AddressIsTaken(), AllGlobalLoadUsesSimpleEnoughForHeapSRA(), AllUsesOfLoadedValueWillTrapIfNull(), analyzeGlobalAux(), CleanupConstantGlobalUsers(), llvm::ScheduleDAGMILive::computeCyclicCriticalPath(), llvm::ConstantFoldInstruction(), llvm::ConvertDebugDeclareToDebugValue(), llvm::IRBuilder< true, TargetFolder >::CreateAlignedLoad(), llvm::LiveIntervals::createAndComputeVirtRegInterval(), llvm::LiveRangeEdit::createEmptyIntervalFrom(), llvm::FastISel::createMachineMemOperandFor(), CreatePrologue(), llvm::DependenceAnalysis::depends(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::BlockFrequencyInfoImpl< BT >::doFunction(), llvm::StringMatcher::Emit(), llvm::PPCTargetLowering::emitEHSjLjSetJmp(), llvm::PPCTargetLowering::EmitInstrWithCustomInserter(), llvm::PPCTargetLowering::EmitPartwordAtomicBinary(), llvm::SetTheory::evaluate(), llvm::FindAvailableLoadedValue(), llvm::PPCInstrInfo::FoldImmediate(), llvm::formLCSSARecursively(), llvm::MachineLoopInfo::getBase(), llvm::LoopInfo::getBase(), GetHeapSROAValue(), llvm::AMDGPUInstrInfo::getIndirectIndexBegin(), GetLocation(), llvm::MemoryDependenceAnalysis::getPointerDependencyFrom(), getPointerOperand(), llvm::DependenceAnalysis::getSplitIteration(), llvm::Record::getValueAsListInit(), haveSameSpecialState(), llvm::isAllocaPromotable(), isAtomic(), isInteresting(), isInterestingMemoryAccess(), isLoadOrStore(), llvm::objcarc::IsObjCIdentifiedObject(), isOnlyCopiedFromConstantGlobal(), isPlainlyKilled(), llvm::objcarc::IsPotentialRetainableObjPtr(), isReportingError(), isSafePHIToSpeculate(), isSafeSelectToSpeculate(), llvm::isSafeToLoadUnconditionally(), llvm::isSafeToSpeculativelyExecute(), isSimpleLoadStore(), LLVMGetAlignment(), LLVMGetVolatile(), LLVMSetAlignment(), LLVMSetVolatile(), llvm::LoadAndStorePromoter::LoadAndStorePromoter(), llvm::LowerDbgDeclare(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), llvm::MergeBlockIntoPredecessor(), OptimizeAwayTrappingUsesOfLoads(), OptimizeAwayTrappingUsesOfValue(), OptimizeGlobalAddressOfMalloc(), passingValueIsAlwaysUndefined(), PerformHeapAllocSRoA(), llvm::AssemblyWriter::printInstruction(), llvm::AliasSetTracker::remove(), llvm::VarInit::resolveListElementReference(), llvm::FieldInit::resolveListElementReference(), llvm::BlockFrequencyInfo::runOnFunction(), llvm::DependenceAnalysis::runOnFunction(), llvm::SelectionDAGISel::runOnMachineFunction(), llvm::MachineLoopInfo::runOnMachineFunction(), SimplifyICmpInst(), llvm::simplifyLoop(), llvm::simplifyUsersOfIV(), SimplifyWithOpReplaced(), llvm::SplitBlock(), llvm::SplitCriticalEdge(), llvm::MachineBasicBlock::SplitCriticalEdge(), llvm::FastISel::tryToFoldLoad(), tryToMakeAllocaBePromotable(), TryToShrinkGlobalToBoolean(), UpdateAnalysisInformation(), llvm::ScheduleDAGMILive::updatePressureDiffs(), verifyLoop(), llvm::InstCombiner::visitICmpInstWithInstAndIntCst(), llvm::InstCombiner::visitLandingPadInst(), llvm::InstCombiner::visitLoadInst(), and llvm::InstCombiner::visitStoreInst().

DenseSet<const BlockT *> VisitedBlocks

Definition at line 413 of file LoopInfoImpl.h.