CACAO
Public Types | Public Member Functions | Protected Attributes
cacao::jit::compiler2::DominatorTree Class Reference
Inheritance diagram for cacao::jit::compiler2::DominatorTree:
cacao::jit::compiler2::DominatorPass

Public Types

typedef BeginInst NodeTy
 
typedef alloc::map< NodeTy
*, NodeTy * >::type 
EdgeMapTy
 

Public Member Functions

bool dominates (NodeTy *a, NodeTy *b) const
 True if a dominates b. More...
 
bool is_dominated_by (NodeTy *b, NodeTy *a) const
 True if b is dominated by b. More...
 
NodeTyget_idominator (NodeTy *a) const
 Get the immediate dominator. More...
 
NodeTyfind_nearest_common_dom (NodeTy *a, NodeTy *b) const
 Find the nearest common dominator. More...
 
int depth (NodeTy *node) const
 Depth of a tree node. More...
 

Protected Attributes

EdgeMapTy dom
 

Detailed Description

Definition at line 41 of file DominatorPass.hpp.

Member Typedef Documentation

Definition at line 44 of file DominatorPass.hpp.

Definition at line 43 of file DominatorPass.hpp.

Member Function Documentation

int cacao::jit::compiler2::DominatorTree::depth ( NodeTy node) const
inline

Depth of a tree node.

The depth is defined as the length of the path from the node to the root. The depth of the root is 0.

Definition at line 83 of file DominatorPass.hpp.

bool cacao::jit::compiler2::DominatorTree::dominates ( NodeTy a,
NodeTy b 
) const

True if a dominates b.

Definition at line 42 of file DominatorPass.cpp.

DominatorTree::NodeTy * cacao::jit::compiler2::DominatorTree::find_nearest_common_dom ( NodeTy a,
NodeTy b 
) const

Find the nearest common dominator.

Definition at line 50 of file DominatorPass.cpp.

NodeTy* cacao::jit::compiler2::DominatorTree::get_idominator ( NodeTy a) const
inline

Get the immediate dominator.

Returns
the immediate dominator or NULL if it is the starting node of the dominator tree (and if a is not in the tree).

Definition at line 65 of file DominatorPass.hpp.

bool cacao::jit::compiler2::DominatorTree::is_dominated_by ( NodeTy b,
NodeTy a 
) const
inline

True if b is dominated by b.

Definition at line 55 of file DominatorPass.hpp.

Field Documentation

EdgeMapTy cacao::jit::compiler2::DominatorTree::dom
protected

Definition at line 46 of file DominatorPass.hpp.


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