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

Public Member Functions

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

Data Fields

unsigned int todo_

Constructor & Destructor Documentation

move_computations_dom_walker::move_computations_dom_walker ( cdi_direction  direction)
inline

Member Function Documentation

virtual void dom_walker::after_dom_children ( basic_block  )
inlinevirtualinherited
void move_computations_dom_walker::before_dom_children ( basic_block  bb)
virtual
   Hoist the statements in basic block BB out of the loops prescribed by
   data stored in LIM_DATA structures associated with each statement.  Callback
   for walk_dominator_tree.  
             Get the PHI arguments corresponding to the true and false
             edges of COND.  
         We do not really want to move conditionals out of the loop; we just
         placed it here to force its operands to be moved if necessary.  
             The new VUSE is the one from the virtual PHI in the loop
             header or the one already present.  
         In case this is a stmt that is not unconditionally executed
         when the target loop header is executed and the stmt may
         invoke undefined integer or pointer overflow rewrite it to
         unsigned arithmetic.  

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, free(), inverted_post_order_compute(), and postorder_num.


Field Documentation

unsigned int move_computations_dom_walker::todo_

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