GCC Middle and Back End API Reference
|
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_ |
|
inline |
|
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, sese_dom_walker, dom_opt_dom_walker, uncprop_dom_walker, and single_def_use_dom_walker.
|
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.
|
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.
unsigned int move_computations_dom_walker::todo_ |