|
void | llvm::FindFunctionBackedges (const Function &F, SmallVectorImpl< std::pair< const BasicBlock *, const BasicBlock *> > &Result) |
| Analyze the specified function to find all of the loop backedges in the function and return them. More...
|
|
unsigned | llvm::GetSuccessorNumber (const BasicBlock *BB, const BasicBlock *Succ) |
| Search for the specified successor of basic block BB and return its position in the terminator instruction's list of successors. More...
|
|
bool | llvm::isCriticalEdge (const Instruction *TI, unsigned SuccNum, bool AllowIdenticalEdges=false) |
| Return true if the specified edge is a critical edge. More...
|
|
bool | llvm::isPotentiallyReachable (const Instruction *From, const Instruction *To, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether instruction 'To' is reachable from 'From', returning true if uncertain. More...
|
|
bool | llvm::isPotentiallyReachable (const BasicBlock *From, const BasicBlock *To, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether block 'To' is reachable from 'From', returning true if uncertain. More...
|
|
bool | llvm::isPotentiallyReachableFromMany (SmallVectorImpl< BasicBlock *> &Worklist, BasicBlock *StopBB, const DominatorTree *DT=nullptr, const LoopInfo *LI=nullptr) |
| Determine whether there is at least one path from a block in 'Worklist' to 'StopBB', returning true if uncertain. More...
|
|
template<class NodeT , class RPOTraversalT , class LoopInfoT , class GT = GraphTraits<NodeT>> |
bool | llvm::containsIrreducibleCFG (RPOTraversalT &RPOTraversal, const LoopInfoT &LI) |
| Return true if the control flow in RPOTraversal is irreducible. More...
|
|