GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | ptr_info_def |
struct | range_info_def |
Macros | |
#define | SSANAMES(fun) (fun)->gimple_df->ssa_names |
#define | MODIFIED_NORETURN_CALLS(fun) (fun)->gimple_df->modified_noreturn_calls |
#define | DEFAULT_DEFS(fun) (fun)->gimple_df->default_defs |
#define | num_ssa_names (vec_safe_length (cfun->gimple_df->ssa_names)) |
#define | ssa_name(i) ((*cfun->gimple_df->ssa_names)[(i)]) |
Enumerations | |
enum | value_range_type { VR_UNDEFINED, VR_RANGE, VR_ANTI_RANGE, VR_VARYING } |
#define DEFAULT_DEFS | ( | fun | ) | (fun)->gimple_df->default_defs |
Referenced by ssa_default_def().
#define MODIFIED_NORETURN_CALLS | ( | fun | ) | (fun)->gimple_df->modified_noreturn_calls |
Referenced by fixup_noreturn_call().
#define num_ssa_names (vec_safe_length (cfun->gimple_df->ssa_names)) |
Referenced by adjust_related_strinfos(), calculate_live_on_exit(), check_for_plus_in_loops(), coalesce_partitions(), compute_builtin_object_size(), DFS(), do_partial_partial_insertion(), find_replaceable_exprs(), find_uses_to_rename(), replace_phi_args_in(), update_alias_info_with_stack_vars(), and va_list_counter_bump().
Referenced by add_exit_phis_var(), rewrite_update_dom_walker::after_dom_children(), coalesce_partitions(), compute_builtin_object_size(), copy_ssa_name(), DFS(), do_partial_partial_insertion(), extract_and_process_scc_for_name(), find_replaceable_exprs(), find_switch_asserts(), mark_use_interesting(), num_var_partitions(), prepare_block_for_update(), pt_solutions_intersect_1(), release_defs(), replace_phi_args_in(), reset_debug_uses(), sese_add_exit_phis_edge(), update_alias_info_with_stack_vars(), and update_complex_components_on_edge().
#define SSANAMES | ( | fun | ) | (fun)->gimple_df->ssa_names |
Referenced by input_phi(), lto_input_tree_ref(), and release_ssa_name().
enum value_range_type |
Type of value ranges. See value_range_d In tree-vrp.c for a description of these types.
void adjust_ptr_info_misalignment | ( | struct ptr_info_def * | pi, |
unsigned int | increment | ||
) |
If pointer described by PI has known alignment, increase its known misalignment by INCREMENT modulo its current alignment.
References make_ssa_name_fn(), SSA_NAME_VAR, and TREE_TYPE.
|
inlinestatic |
Return an SSA_NAME node using the template SSA name NAME defined in statement STMT in function cfun.
References cfun, gcc_checking_assert, get_identifier(), make_ssa_name_fn(), SET_SSA_NAME_VAR_OR_IDENTIFIER, ssa_name, and TYPE_P.
Referenced by create_loop_fn(), trivially_conflicts_p(), vect_create_cond_for_alias_checks(), vect_create_epilog_for_reduction(), vect_get_vec_defs_for_stmt_copy(), and vect_permute_store_chain().
|
inlinestatic |
Creates a duplicate of a SSA name NAME tobe defined by statement STMT in function cfun.
Referenced by gimple_stringop_fixed_value(), and verify_loop_closed_ssa().
void duplicate_ssa_name_ptr_info | ( | tree | , |
struct ptr_info_def * | |||
) |
void duplicate_ssa_name_range_info | ( | tree | , |
struct range_info_def * | |||
) |
void fini_ssanames | ( | void | ) |
Finalize management of SSA_NAMEs.
References ssa_name_nodes_created, and ssa_name_nodes_reused.
Referenced by execute_init_datastructures().
|
read |
bool get_ptr_info_alignment | ( | struct ptr_info_def * | pi, |
unsigned int * | alignp, | ||
unsigned int * | misalignp | ||
) |
If the alignment of the pointer described by PI is known, return true and store the alignment and the deviation from it into *ALIGNP and *MISALIGNP respectively. Otherwise return false.
References ptr_info_def::align, gcc_assert, gcc_checking_assert, and ptr_info_def::misalign.
Referenced by get_address_description(), and get_object_alignment().
enum value_range_type get_range_info | ( | tree | name, |
double_int * | min, | ||
double_int * | max | ||
) |
Gets the value range from SSA.
void init_ssanames | ( | struct function * | , |
int | |||
) |
|
inlinestatic |
Return an SSA_NAME node for variable VAR defined in statement STMT in function cfun.
References cfun, and duplicate_ssa_name_fn().
Referenced by build_one_array(), create_iv(), create_phi_for_local_result(), debug_tree_ssa_stats(), gimple_expand_builtin_powi(), initialize_root(), instrument_builtin_call(), instrument_memory_accesses(), is_phi_for_stmt(), lookup_tmp_var(), lower_send_clauses(), set_strinfo(), simplify_bitwise_binary_boolean(), swap_ops_for_binary_stmt(), vect_init_vector_1(), and vect_permute_store_chain().
|
inlinestatic |
Return an anonymous SSA_NAME node for type TYPE defined in statement STMT in function cfun. Arrange so that it uses NAME in dumps.
Referenced by attempt_builtin_powi(), create_iv(), gimple_gen_one_value_profiler(), ncd_for_two_cands(), and powi_lookup_cost().
void mark_ptr_info_alignment_unknown | ( | struct ptr_info_def * | ) |
void release_defs | ( | gimple | ) |
void release_ssa_name | ( | tree | ) |
void set_ptr_info_alignment | ( | struct ptr_info_def * | pi, |
unsigned int | align, | ||
unsigned int | misalign | ||
) |
Store the the power-of-two byte alignment and the deviation from that alignment of pointer described by PI to ALIOGN and MISALIGN respectively.
References gcc_assert, mark_ptr_info_alignment_unknown(), NULL, POINTER_TYPE_P, ptr_info_def::pt, pt_solution_reset(), SSA_NAME_PTR_INFO, and TREE_TYPE.
void set_range_info | ( | tree | ssa, |
double_int | min, | ||
double_int | max | ||
) |
Sets the value range to SSA.
void ssanames_print_statistics | ( | void | ) |
Dump some simple statistics regarding the re-use of SSA_NAME nodes.
References gcc_assert, and TREE_CODE.