25 #ifndef _JIT_COMPILER2_DOMINATORPASS
26 #define _JIT_COMPILER2_DOMINATORPASS
66 EdgeMapTy::const_iterator
i = dom.find(a);
75 NodeTy* find_nearest_common_dom(NodeTy *a, NodeTy *b)
const;
85 while ( (node = get_idominator(node)) != NULL) {
std::set< Key, Compare, Allocator< Key > > type
Pass superclass All compiler passes should inheritate this class.
alloc::set< NodeTy * >::type NodeListTy
This Instruction marks the start of a basic block.
Custom new/delete handler mixin.
alloc::map< NodeTy *, NodeTy * >::type EdgeMapTy
alloc::map< NodeTy *, NodeTy * >::type EdgeMapTy
alloc::vector< NodeTy * >::type NodeMapTy
int depth(NodeTy *node) const
Depth of a tree node.
alloc::map< NodeTy *, NodeListTy >::type NodeListMapTy
NodeTy * get_idominator(NodeTy *a) const
Get the immediate dominator.
std::vector< T, Allocator< T > > type
Stores the interdependencies of a pass.
alloc::map< NodeTy *, int >::type IndexMapTy
bool is_dominated_by(NodeTy *b, NodeTy *a) const
True if b is dominated by b.
bool dominates(dominatordata *dd, int i, int j)
Calculate the Dominator Tree.