GCC Middle and Back End API Reference
single_def_use_dom_walker Class Reference
Inheritance diagram for single_def_use_dom_walker:
Collaboration diagram for single_def_use_dom_walker:

Public Member Functions

 single_def_use_dom_walker (cdi_direction direction)
virtual void before_dom_children (basic_block)
virtual void after_dom_children (basic_block)
void walk (basic_block)

Constructor & Destructor Documentation

single_def_use_dom_walker::single_def_use_dom_walker ( cdi_direction  direction)
inline

Member Function Documentation

void single_def_use_dom_walker::after_dom_children ( basic_block  bb)
virtual

Pop the definitions created in this basic block when leaving its dominated parts.

See also process_defs.

Reimplemented from dom_walker.

void single_def_use_dom_walker::before_dom_children ( basic_block  )
virtual

Function to call before the recursive walk of the dominator children.

Push a marker for the leave_block callback.

 We don't call df_simulate_initialize_forwards, as it may overestimate
 the live registers if there are unused artificial defs.  We prefer
 liveness to be underestimated.   

Reimplemented from dom_walker.

void dom_walker::walk ( basic_block  bb)
inherited

Walk the dominator tree.

Recursively walk the dominator tree. BB is the basic block we are currently visiting.

     Don't worry about unreachable blocks.   
         Callback for subclasses to do custom things before we have walked
         the dominator children, but before we walk statements.   
         Mark the current BB to be popped out of the recursion stack
         once children are processed.   
     NULL is used to mark pop operations in the recursion stack.   
         Callback allowing subclasses to do custom things after we have
         walked dominator children, but before we walk statements.   

References bb_postorder, inverted_post_order_compute(), last_basic_block, n_basic_blocks, and postorder_num.


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