GCC Middle and Back End API Reference
|
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 |
mark_def_dom_walker::mark_def_dom_walker | ( | cdi_direction | direction | ) |
mark_def_dom_walker::~mark_def_dom_walker | ( | ) |
|
inlinevirtualinherited |
Function to call after the recursive walk of the dominator children.
Reimplemented in eliminate_dom_walker, rewrite_update_dom_walker, strlen_dom_walker, rewrite_dom_walker, nontrapping_dom_walker, dom_opt_dom_walker, uncprop_dom_walker, and single_def_use_dom_walker.
|
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().
|
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.
|
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.