ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DominatorTreesAndDominanceFrontiers::DominanceFrontier Class Reference

#include <DominanceFrontier.h>

Collaboration diagram for DominatorTreesAndDominanceFrontiers::DominanceFrontier:

Public Member Functions

 DominanceFrontier (DominatorTree *dt)
 
std::set< int > getFrontier (int id)
 
void printFrontier ()
 

Private Member Functions

void _buildFrontier ()
 

Private Attributes

DominatorTree_dt
 The dominator tree the dominance frontiers are based on. More...
 
int _size
 The number of nodes. More...
 
std::set< int > * _domFrontier
 Holds the dominance frontier for each node in the CFG (indexed by node id) More...
 

Detailed Description

This class constructs the dominance (or post-dominance) frontiers for all nodes in a ControlFlowGraph. A dominance (post-dominance) frontier for node X is simply the set of nodes such that a given node Y from the set is not dominated (post-dominated) by X, but there is an immediate predecessor of Y that is dominated (post-dominated) by X.

The type of frontier we construct is determined by the DominatorTree that DominanceFrontier is initialized with.

Definition at line 25 of file dominatorTreesAndDominanceFrontiers/DominanceFrontier.h.

Constructor & Destructor Documentation

DominatorTreesAndDominanceFrontiers::DominanceFrontier::DominanceFrontier ( DominatorTree dt)
inline

Member Function Documentation

std::set<int> DominatorTreesAndDominanceFrontiers::DominanceFrontier::getFrontier ( int  id)
inline
get the dominance frontier for a given node (these need to be

referenced against the CFG to determine the actual nodes in the frontier

Definition at line 38 of file dominatorTreesAndDominanceFrontiers/DominanceFrontier.h.

References _domFrontier.

void DominatorTreesAndDominanceFrontiers::DominanceFrontier::printFrontier ( )
void DominatorTreesAndDominanceFrontiers::DominanceFrontier::_buildFrontier ( )
private

Referenced by DominanceFrontier().

Member Data Documentation

DominatorTree* DominatorTreesAndDominanceFrontiers::DominanceFrontier::_dt
private

The dominator tree the dominance frontiers are based on.

Definition at line 47 of file dominatorTreesAndDominanceFrontiers/DominanceFrontier.h.

int DominatorTreesAndDominanceFrontiers::DominanceFrontier::_size
private

The number of nodes.

Definition at line 50 of file dominatorTreesAndDominanceFrontiers/DominanceFrontier.h.

std::set<int>* DominatorTreesAndDominanceFrontiers::DominanceFrontier::_domFrontier
private

Holds the dominance frontier for each node in the CFG (indexed by node id)

Definition at line 53 of file dominatorTreesAndDominanceFrontiers/DominanceFrontier.h.

Referenced by getFrontier().


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