Lines Matching refs:BasicBlock
35 SmallVectorImpl<std::pair<const BasicBlock*,const BasicBlock*> > &Result) { in FindFunctionBackedges() argument
36 const BasicBlock *BB = &F.getEntryBlock(); in FindFunctionBackedges()
40 SmallPtrSet<const BasicBlock*, 8> Visited; in FindFunctionBackedges()
41 SmallVector<std::pair<const BasicBlock *, const_succ_iterator>, 8> VisitStack; in FindFunctionBackedges()
42 SmallPtrSet<const BasicBlock*, 8> InStack; in FindFunctionBackedges()
48 std::pair<const BasicBlock *, const_succ_iterator> &Top = VisitStack.back(); in FindFunctionBackedges()
49 const BasicBlock *ParentBB = Top.first; in FindFunctionBackedges()
79 unsigned llvm::GetSuccessorNumber(const BasicBlock *BB, in GetSuccessorNumber()
80 const BasicBlock *Succ) { in GetSuccessorNumber()
101 bool llvm::isCriticalEdge(const Instruction *TI, const BasicBlock *Dest, in isCriticalEdge()
113 const BasicBlock *FirstPred = *I; in isCriticalEdge()
128 static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) { in getOutermostLoop()
134 static bool isReachableImpl(SmallVectorImpl<BasicBlock *> &Worklist, in isReachableImpl()
136 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, in isReachableImpl()
174 SmallPtrSet<const BasicBlock*, 32> Visited; in isReachableImpl()
176 BasicBlock *BB = Worklist.pop_back_val(); in isReachableImpl()
184 if (llvm::any_of(StopSet, [&](const BasicBlock *StopBB) { in isReachableImpl()
240 SmallVectorImpl<BasicBlock *> &Worklist, const BasicBlock *StopBB, in isPotentiallyReachableFromMany()
241 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT, in isPotentiallyReachableFromMany()
243 return isReachableImpl<SingleEntrySet<const BasicBlock *>>( in isPotentiallyReachableFromMany()
244 Worklist, SingleEntrySet<const BasicBlock *>(StopBB), ExclusionSet, DT, in isPotentiallyReachableFromMany()
249 SmallVectorImpl<BasicBlock *> &Worklist, in isManyPotentiallyReachableFromMany()
250 const SmallPtrSetImpl<const BasicBlock *> &StopSet, in isManyPotentiallyReachableFromMany()
251 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT, in isManyPotentiallyReachableFromMany()
253 return isReachableImpl<SmallPtrSetImpl<const BasicBlock *>>( in isManyPotentiallyReachableFromMany()
258 const BasicBlock *A, const BasicBlock *B, in isPotentiallyReachable()
259 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT, in isPotentiallyReachable()
275 SmallVector<BasicBlock*, 32> Worklist; in isPotentiallyReachable()
276 Worklist.push_back(const_cast<BasicBlock*>(A)); in isPotentiallyReachable()
283 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT, in isPotentiallyReachable()
294 BasicBlock *BB = const_cast<BasicBlock *>(A->getParent()); in isPotentiallyReachable()
311 SmallVector<BasicBlock*, 32> Worklist; in isPotentiallyReachable()