LLVM 22.0.0git
|
DominanceFrontierBase - Common base class for computing forward and inverse dominance frontiers for a function. More...
#include "llvm/Analysis/DominanceFrontier.h"
Public Types | |
using | DomSetType = SetVector<BlockT *> |
using | DomSetMapType = DenseMap<BlockT *, DomSetType> |
using | iterator = typename DomSetMapType::iterator |
using | const_iterator = typename DomSetMapType::const_iterator |
Public Member Functions | |
DominanceFrontierBase ()=default | |
const SmallVectorImpl< BlockT * > & | getRoots () const |
getRoots - Return the root blocks of the current CFG. | |
BlockT * | getRoot () const |
bool | isPostDominator () const |
isPostDominator - Returns true if analysis based of postdoms | |
void | releaseMemory () |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
iterator | find (BlockT *B) |
const_iterator | find (BlockT *B) const |
void | print (raw_ostream &OS) const |
print - Convert to human readable form | |
void | dump () const |
dump - Dump the dominance frontier to dbgs(). |
Protected Types | |
using | BlockTraits = GraphTraits<BlockT *> |
Protected Attributes | |
DomSetMapType | Frontiers |
SmallVector< BlockT *, IsPostDom ? 4 :1 > | Roots |
Static Protected Attributes | |
static constexpr bool | IsPostDominators = IsPostDom |
DominanceFrontierBase - Common base class for computing forward and inverse dominance frontiers for a function.
Definition at line 40 of file DominanceFrontier.h.
|
protected |
Definition at line 48 of file DominanceFrontier.h.
using llvm::DominanceFrontierBase< BlockT, IsPostDom >::const_iterator = typename DomSetMapType::const_iterator |
Definition at line 79 of file DominanceFrontier.h.
using llvm::DominanceFrontierBase< BlockT, IsPostDom >::DomSetMapType = DenseMap<BlockT *, DomSetType> |
Definition at line 45 of file DominanceFrontier.h.
using llvm::DominanceFrontierBase< BlockT, IsPostDom >::DomSetType = SetVector<BlockT *> |
Definition at line 44 of file DominanceFrontier.h.
using llvm::DominanceFrontierBase< BlockT, IsPostDom >::iterator = typename DomSetMapType::iterator |
Definition at line 78 of file DominanceFrontier.h.
|
default |
|
inline |
Definition at line 81 of file DominanceFrontier.h.
Referenced by print().
|
inline |
Definition at line 82 of file DominanceFrontier.h.
void llvm::DominanceFrontierBase< BlockT, IsPostDom >::dump | ( | ) | const |
dump - Dump the dominance frontier to dbgs().
Definition at line 73 of file DominanceFrontierImpl.h.
References llvm::dbgs(), and llvm::print().
|
inline |
Definition at line 83 of file DominanceFrontier.h.
Referenced by print().
|
inline |
Definition at line 84 of file DominanceFrontier.h.
|
inline |
Definition at line 85 of file DominanceFrontier.h.
|
inline |
Definition at line 86 of file DominanceFrontier.h.
|
inline |
Definition at line 63 of file DominanceFrontier.h.
|
inline |
getRoots - Return the root blocks of the current CFG.
This may include multiple blocks if we are computing post dominators. For forward dominators, this will always be a single block (the entry node).
Definition at line 61 of file DominanceFrontier.h.
|
inline |
isPostDominator - Returns true if analysis based of postdoms
Definition at line 69 of file DominanceFrontier.h.
void llvm::DominanceFrontierBase< BlockT, IsPostDom >::print | ( | raw_ostream & | OS | ) | const |
|
inline |
Definition at line 73 of file DominanceFrontier.h.
|
protected |
Definition at line 50 of file DominanceFrontier.h.
|
staticconstexprprotected |
Definition at line 53 of file DominanceFrontier.h.
|
protected |
Definition at line 52 of file DominanceFrontier.h.