LLVM  4.0.0
Public Types | Public Member Functions | List of all members
llvm::ForwardDominanceFrontierBase< BlockT > Class Template Reference

DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers. More...

#include <DominanceFrontier.h>

Inheritance diagram for llvm::ForwardDominanceFrontierBase< BlockT >:
[legend]
Collaboration diagram for llvm::ForwardDominanceFrontierBase< BlockT >:
[legend]

Public Types

typedef DominatorTreeBase< BlockT > DomTreeT
 
typedef DomTreeNodeBase< BlockT > DomTreeNodeT
 
typedef DominanceFrontierBase
< BlockT >::DomSetType 
DomSetType
 
- Public Types inherited from llvm::DominanceFrontierBase< BlockT >
typedef std::set< BlockT * > DomSetType
 
typedef std::map< BlockT
*, DomSetType
DomSetMapType
 
typedef DomSetMapType::iterator iterator
 
typedef
DomSetMapType::const_iterator 
const_iterator
 

Public Member Functions

 ForwardDominanceFrontierBase ()
 
void analyze (DomTreeT &DT)
 
const DomSetTypecalculate (const DomTreeT &DT, const DomTreeNodeT *Node)
 
- Public Member Functions inherited from llvm::DominanceFrontierBase< BlockT >
 DominanceFrontierBase (bool isPostDom)
 
const std::vector< BlockT * > & getRoots () const
 getRoots - Return the root blocks of the current CFG. More...
 
BlockT * getRoot () const
 
bool isPostDominator () const
 isPostDominator - Returns true if analysis based of postdoms More...
 
void releaseMemory ()
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
iterator find (BlockT *B)
 
const_iterator find (BlockT *B) const
 
iterator addBasicBlock (BlockT *BB, const DomSetType &frontier)
 
void removeBlock (BlockT *BB)
 removeBlock - Remove basic block BB's frontier. More...
 
void addToFrontier (iterator I, BlockT *Node)
 
void removeFromFrontier (iterator I, BlockT *Node)
 
bool compareDomSet (DomSetType &DS1, const DomSetType &DS2) const
 compareDomSet - Return false if two domsets match. More...
 
bool compare (DominanceFrontierBase< BlockT > &Other) const
 compare - Return true if the other dominance frontier base matches this dominance frontier base. More...
 
void print (raw_ostream &OS) const
 print - Convert to human readable form More...
 
void dump () const
 dump - Dump the dominance frontier to dbgs(). More...
 

Additional Inherited Members

- Protected Types inherited from llvm::DominanceFrontierBase< BlockT >
typedef GraphTraits< BlockT * > BlockTraits
 
- Protected Attributes inherited from llvm::DominanceFrontierBase< BlockT >
DomSetMapType Frontiers
 
std::vector< BlockT * > Roots
 
const bool IsPostDominators
 

Detailed Description

template<class BlockT>
class llvm::ForwardDominanceFrontierBase< BlockT >

DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers.

Definition at line 116 of file DominanceFrontier.h.

Member Typedef Documentation

template<class BlockT>
typedef DominanceFrontierBase<BlockT>::DomSetType llvm::ForwardDominanceFrontierBase< BlockT >::DomSetType

Definition at line 123 of file DominanceFrontier.h.

template<class BlockT>
typedef DomTreeNodeBase<BlockT> llvm::ForwardDominanceFrontierBase< BlockT >::DomTreeNodeT

Definition at line 122 of file DominanceFrontier.h.

template<class BlockT>
typedef DominatorTreeBase<BlockT> llvm::ForwardDominanceFrontierBase< BlockT >::DomTreeT

Definition at line 121 of file DominanceFrontier.h.

Constructor & Destructor Documentation

template<class BlockT>
llvm::ForwardDominanceFrontierBase< BlockT >::ForwardDominanceFrontierBase ( )
inline

Definition at line 125 of file DominanceFrontier.h.

Member Function Documentation

template<class BlockT>
void llvm::ForwardDominanceFrontierBase< BlockT >::analyze ( DomTreeT DT)
inline
template<class BlockT >
const ForwardDominanceFrontierBase< BlockT >::DomSetType & llvm::ForwardDominanceFrontierBase< BlockT >::calculate ( const DomTreeT DT,
const DomTreeNodeT Node 
)

The documentation for this class was generated from the following files: