LLVM API Documentation
#include "llvm/Analysis/CFG.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/Dominators.h"
Go to the source code of this file.
Functions | |
static const Loop * | getOutermostLoop (const LoopInfo *LI, const BasicBlock *BB) |
static bool | loopContainsBoth (const LoopInfo *LI, const BasicBlock *BB1, const BasicBlock *BB2) |
static bool | isPotentiallyReachableInner (SmallVectorImpl< BasicBlock * > &Worklist, BasicBlock *StopBB, const DominatorTree *DT, const LoopInfo *LI) |
static const Loop* getOutermostLoop | ( | const LoopInfo * | LI, |
const BasicBlock * | BB | ||
) | [static] |
Definition at line 112 of file CFG.cpp.
References llvm::LoopInfo::getLoopFor(), and llvm::LoopBase< BlockT, LoopT >::getParentLoop().
Referenced by isPotentiallyReachableInner(), and loopContainsBoth().
static bool isPotentiallyReachableInner | ( | SmallVectorImpl< BasicBlock * > & | Worklist, |
BasicBlock * | StopBB, | ||
const DominatorTree * | DT, | ||
const LoopInfo * | LI | ||
) | [static] |
Definition at line 129 of file CFG.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::DominatorTree::dominates(), llvm::SmallVectorBase::empty(), getOutermostLoop(), llvm::SmallSet< T, N, C >::insert(), llvm::DominatorTree::isReachableFromEntry(), loopContainsBoth(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::succ_begin(), and llvm::succ_end().
Referenced by llvm::isPotentiallyReachable().
static bool loopContainsBoth | ( | const LoopInfo * | LI, |
const BasicBlock * | BB1, | ||
const BasicBlock * | BB2 | ||
) | [static] |
Definition at line 122 of file CFG.cpp.
References getOutermostLoop().
Referenced by isPotentiallyReachableInner().