GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | et_node |
Functions | |
struct et_node * | et_new_tree (void *data) |
void | et_free_tree (struct et_node *) |
void | et_free_tree_force (struct et_node *) |
void | et_free_pools (void) |
void | et_set_father (struct et_node *, struct et_node *) |
void | et_split (struct et_node *) |
struct et_node * | et_nca (struct et_node *, struct et_node *) |
bool | et_below (struct et_node *, struct et_node *) |
struct et_node * | et_root (struct et_node *) |
Checks whether the node UP is an ancestor of the node DOWN.
References et_splay(), ggc_alloc(), et_occ::next, NULL, et_occ::parent, et_occ::prev, r, et_node::rightmost_occ, set_next(), and set_prev().
Referenced by dominated_by_p().
Release the alloc pools, if they are empty.
References et_nodes, and et_occurrences.
Referenced by free_dominance_info(), and free_dominance_info_for_region().
Releases et tree T.
References et_nodes, et_occurrences, et_split(), et_node::father, et_node::rightmost_occ, and et_node::son.
Referenced by delete_from_dominance_info().
Releases et tree T without maintaining other nodes.
References et_nodes, et_occurrences, et_node::parent_occ, and et_node::rightmost_occ.
Referenced by free_dominance_info(), and free_dominance_info_for_region().
Finds the nearest common ancestor of the nodes N1 and N2.
References et_splay(), ggc_alloc(), NULL, et_occ::parent, r, et_node::rightmost_occ, set_next(), and set_prev().
Referenced by nearest_common_dominator().
Create a new et tree containing DATA.
References et_node::data, et_new_occ(), et_nodes, ggc_alloc(), and NULL.
Referenced by add_to_dominance_info(), calculate_dominance_info(), and calculate_dominance_info_for_region().
Returns the root of the tree that contains NODE.
References et_splay(), ggc_alloc(), r, and et_node::rightmost_occ.
Referenced by root_of_dom_tree().
Sets father of et tree T to FATHER.
References et_occ::depth, et_new_occ(), et_recomp_min(), et_splay(), et_node::father, ggc_alloc(), et_node::left, et_occ::min, et_node::parent_occ, et_node::right, et_node::rightmost_occ, set_next(), set_prev(), and et_node::son.
Referenced by calculate_dominance_info(), calculate_dominance_info_for_region(), redirect_immediate_dominators(), and set_immediate_dominator().
Splits the edge from T to its father.
References et_occurrences, et_recomp_min(), et_splay(), et_node::father, ggc_alloc(), et_node::left, NULL, et_node::parent_occ, r, et_node::right, et_node::rightmost_occ, set_prev(), and et_node::son.
Referenced by et_free_tree(), redirect_immediate_dominators(), and set_immediate_dominator().