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

Public Member Functions

 mark_def_dom_walker (cdi_direction direction)
 ~mark_def_dom_walker ()
virtual void before_dom_children (basic_block)
void walk (basic_block)
virtual void after_dom_children (basic_block)

Private Attributes

bitmap m_kills

Constructor & Destructor Documentation

mark_def_dom_walker::mark_def_dom_walker ( cdi_direction  direction)
mark_def_dom_walker::~mark_def_dom_walker ( )

Member Function Documentation

virtual void dom_walker::after_dom_children ( basic_block  )
inlinevirtualinherited
void mark_def_dom_walker::before_dom_children ( basic_block  bb)
virtual

Block processing routine for mark_def_sites. Clear the KILLS bitmap at the start of each block, and call mark_def_sites for each statement.

Reimplemented from dom_walker.

References gimple_bb(), and mark_block_for_update().

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.


Field Documentation

bitmap mark_def_dom_walker::m_kills
private

Notice that this bitmap is indexed using variable UIDs, so it must be large enough to accommodate all the variables referenced in the function, not just the ones we are renaming.


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