GCC Middle and Back End API Reference
|
Data Structures | |
struct | et_occ |
Functions | |
static void | set_depth () |
static void | set_depth_add () |
static void | set_prev () |
static void | set_next () |
static void | et_recomp_min () |
static void | et_check_occ_sanity () |
static void | et_check_sanity () |
static void | et_check_tree_sanity () |
static int | record_path_before_1 () |
static void | record_path_before () |
static int | check_path_after_1 () |
static void | check_path_after () |
static void | et_splay () |
static struct et_occ * | et_new_occ () |
struct et_node * | et_new_tree () |
void | et_free_tree () |
void | et_free_tree_force () |
void | et_free_pools () |
void | et_set_father () |
void | et_split () |
struct et_node * | et_nca () |
bool | et_below () |
struct et_node * | et_root () |
Variables | |
static alloc_pool | et_nodes |
static alloc_pool | et_occurrences |
static int | len |
static void * | datas [MAX_NODES] |
static int | depths [MAX_NODES] |
|
static |
Checks whether the path represented by a tree containing OCC was not changed since the last recording.
Referenced by et_splay().
|
static |
Checks whether the path represented by OCC, with depth incremented by DEPTH, was not changed since the last recording.
References et_occ::prev.
Referenced by record_path_before().
bool et_below | ( | ) |
Checks whether the node UP is an ancestor of the node DOWN.
In case O1 and O2 are in two different trees, we must just restore the original state.
Referenced by nearest_common_dominator_for_set().
|
static |
Checks whether neighborhood of OCC seems sane.
References et_occ::next, and et_occ::parent.
|
static |
Checks whether tree rooted at OCC is sane.
References et_occ::parent.
|
static |
void et_free_pools | ( | void | ) |
Release the alloc pools, if they are empty.
void et_free_tree | ( | ) |
Releases et tree T.
References free_alloc_pool_if_empty().
void et_free_tree_force | ( | ) |
Releases et tree T without maintaining other nodes.
|
read |
Finds the nearest common ancestor of the nodes N1 and N2.
O1 and O2 are in different components of the forest.
Referenced by get_dominated_to_depth().
|
staticread |
Create a new et tree occurrence of NODE.
|
read |
Create a new et tree containing DATA.
Referenced by assign_dfs_numbers().
|
inlinestatic |
Recompute minimum for occurrence OCC.
References et_occ::depth, et_occ::min, and et_occ::min_occ.
Referenced by et_splay().
|
read |
Returns the root of the tree that contains NODE.
The root of the tree corresponds to the rightmost occurrence in the represented path.
void et_set_father | ( | ) |
Sets father of et tree T to FATHER.
Update the path represented in the splay tree.
Update the tree.
Referenced by get_dominated_by_region().
|
static |
Splay the occurrence OCC to the root of the tree.
zig
zag
zig zig
zag zig
zig zag
zag zag
References check_path_after(), et_check_tree_sanity(), et_recomp_min(), et_occ::min, et_occ::min_occ, et_occ::next, et_occ::parent, et_occ::prev, set_depth(), set_depth_add(), set_next(), and set_prev().
void et_split | ( | ) |
Splits the edge from T to its father.
Update the path represented by the splay tree.
Update the tree.
References et_node::left, and et_node::right.
Referenced by get_dominated_by_region().
|
static |
Records the path represented by a tree containing OCC.
References check_path_after_1(), et_occ::depth, et_occ::next, and et_occ::of.
|
static |
Records the path represented by OCC, with depth incremented by DEPTH.
|
inlinestatic |
Changes depth of OCC to D.
Referenced by et_splay().
|
inlinestatic |
Adds D to the depth of OCC.
Referenced by et_splay().
|
inlinestatic |
Sets next field of OCC to P.
Referenced by et_splay().
|
inlinestatic |
Sets prev field of OCC to P.
Referenced by et_splay().
|
static |
|
static |
|
static |
|
static |
|
static |
Referenced by add_to_obstack(), add_ttypes_entry(), adjust_operands_numbers(), alter_output_for_insn(), assemble_integer_with_op(), AT_flag(), attr_printf(), bp_unpack_indexed_string(), bt_callback(), canon_file_name(), canonicalize_name(), common_handle_option(), commutative_constraint_p(), decode_asm_operands(), default_internal_label(), duplicate_alternatives(), dw2_asm_output_nstring(), expand_builtin_bzero(), expand_builtin_memset_args(), expand_builtin_object_size(), fake_ngettext(), find_a_file(), find_equal_ptrs(), fold_builtin_fputs(), gen_label_rtx(), get_mem_ref_of_assignment(), input_eh_regions(), input_phi(), ipa_profile_read_summary(), ipa_unregister_cgraph_hooks(), ira_copy_iter_cond(), lhd_gimplify_expr(), vec< T, A, vl_embed >::lower_bound(), lto_init_eh(), mark_insn_hard_regno_birth(), new_decision(), operand_equal_for_phi_arg_p(), parse_plugin_arg_opt(), preprocess_case_label_vec_for_gimple(), print_to_asm_out_file(), process_alt_operands(), sanitize_spec_function(), simplify_set(), stabstr_continue(), streamer_string_index(), unpack_ts_block_value_fields(), virtual_operand_p(), and vn_reference_lookup_3().