|
LLVM 23.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 | DomTreeT = DominatorTreeBase<BlockT, IsPostDom> |
| using | DomTreeNodeT = DomTreeNodeBase<BlockT> |
| using | iterator = typename DomSetMapType::iterator |
| using | const_iterator = typename DomSetMapType::const_iterator |
Public Member Functions | |
| DominanceFrontierBase ()=default | |
| 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(). | |
| void | analyze (const DomTreeT &DT) |
Protected Types | |
| using | GraphTy = std::conditional_t<IsPostDom, Inverse<BlockT *>, BlockT *> |
| using | BlockTraits = GraphTraits<GraphTy> |
Protected Attributes | |
| DomSetMapType | Frontiers |
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 43 of file DominanceFrontier.h.
|
protected |
Definition at line 54 of file DominanceFrontier.h.
| using llvm::DominanceFrontierBase< BlockT, IsPostDom >::const_iterator = typename DomSetMapType::const_iterator |
Definition at line 73 of file DominanceFrontier.h.
| using llvm::DominanceFrontierBase< BlockT, IsPostDom >::DomSetMapType = DenseMap<BlockT *, DomSetType> |
Definition at line 48 of file DominanceFrontier.h.
| using llvm::DominanceFrontierBase< BlockT, IsPostDom >::DomSetType = SetVector<BlockT *> |
Definition at line 47 of file DominanceFrontier.h.
| using llvm::DominanceFrontierBase< BlockT, IsPostDom >::DomTreeNodeT = DomTreeNodeBase<BlockT> |
Definition at line 50 of file DominanceFrontier.h.
| using llvm::DominanceFrontierBase< BlockT, IsPostDom >::DomTreeT = DominatorTreeBase<BlockT, IsPostDom> |
Definition at line 49 of file DominanceFrontier.h.
|
protected |
Definition at line 53 of file DominanceFrontier.h.
| using llvm::DominanceFrontierBase< BlockT, IsPostDom >::iterator = typename DomSetMapType::iterator |
Definition at line 72 of file DominanceFrontier.h.
|
default |
| void llvm::DominanceFrontierBase< BlockT, IsPostDom >::analyze | ( | const DomTreeT & | DT | ) |
Definition at line 77 of file DominanceFrontierImpl.h.
References assert(), llvm::DomTreeNodeBase< NodeT >::getBlock(), llvm::DominatorTreeBase< NodeT, IsPostDom >::getRootNode(), llvm::DominatorTreeBase< NodeT, IsPostDom >::root_begin(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::root_size().
Referenced by llvm::MachineDominanceFrontierAnalysis::run().
|
inline |
|
inline |
Definition at line 76 of file DominanceFrontier.h.
References Frontiers.
| void llvm::DominanceFrontierBase< BlockT, IsPostDom >::dump | ( | ) | const |
dump - Dump the dominance frontier to dbgs().
Definition at line 71 of file DominanceFrontierImpl.h.
References llvm::dbgs(), and llvm::print().
|
inline |
|
inline |
Definition at line 78 of file DominanceFrontier.h.
References Frontiers.
|
inline |
Definition at line 79 of file DominanceFrontier.h.
|
inline |
Definition at line 80 of file DominanceFrontier.h.
|
inline |
isPostDominator - Returns true if analysis based of postdoms
Definition at line 63 of file DominanceFrontier.h.
References IsPostDominators.
| void llvm::DominanceFrontierBase< BlockT, IsPostDom >::print | ( | raw_ostream & | OS | ) | const |
|
inline |
Definition at line 67 of file DominanceFrontier.h.
References Frontiers.
|
protected |
Definition at line 56 of file DominanceFrontier.h.
Referenced by begin(), begin(), end(), end(), find(), find(), and releaseMemory().
|
staticconstexprprotected |
Definition at line 57 of file DominanceFrontier.h.
Referenced by isPostDominator().