ΒΆbool isPotentiallyReachableFromMany(
SmallVectorImpl<llvm::BasicBlock*>& Worklist,
llvm::BasicBlock* StopBB,
const SmallPtrSetImpl<llvm::BasicBlock*>*
ExclusionSet,
const llvm::DominatorTree* DT = nullptr,
const llvm::LoopInfo* LI = nullptr)
bool isPotentiallyReachableFromMany(
SmallVectorImpl<llvm::BasicBlock*>& Worklist,
llvm::BasicBlock* StopBB,
const SmallPtrSetImpl<llvm::BasicBlock*>*
ExclusionSet,
const llvm::DominatorTree* DT = nullptr,
const llvm::LoopInfo* LI = nullptr)
Description
Determine whether there is at least one path from a block in 'Worklist' to 'StopBB' without passing through any blocks in 'ExclusionSet', returning true if uncertain. Determine whether there is a path from at least one block in Worklist to StopBB within a single function without passing through any of the blocks in 'ExclusionSet'. Returns false only if we can prove that once any block in 'Worklist' has been reached then 'StopBB' can not be executed. Conservatively returns true.
Declared at: llvm/include/llvm/Analysis/CFG.h:103
Parameters
- SmallVectorImpl<llvm::BasicBlock*>& Worklist
- llvm::BasicBlock* StopBB
- const SmallPtrSetImpl<llvm::BasicBlock*>* ExclusionSet
- const llvm::DominatorTree* DT = nullptr
- const llvm::LoopInfo* LI = nullptr