GCC Middle and Back End API Reference
|
#include <cgraph.h>
Data Fields | |
gcov_type | count |
struct cgraph_node * | caller |
struct cgraph_node * | callee |
struct cgraph_edge * | prev_caller |
struct cgraph_edge * | next_caller |
struct cgraph_edge * | prev_callee |
struct cgraph_edge * | next_callee |
gimple | call_stmt |
struct cgraph_indirect_call_info * | indirect_info |
PTR | aux |
cgraph_inline_failed_t | inline_failed |
unsigned int | lto_stmt_uid |
int | frequency |
int | uid |
unsigned int | indirect_inlining_edge: 1 |
unsigned int | indirect_unknown_callee: 1 |
unsigned int | call_stmt_cannot_inline_p: 1 |
unsigned int | can_throw_external: 1 |
unsigned int | speculative: 1 |
PTR cgraph_edge::aux |
gimple cgraph_edge::call_stmt |
Referenced by analyze_functions(), cgraph_add_edge_to_call_site_hash(), cgraph_clone_node(), cgraph_copy_node_for_versioning(), cgraph_create_edge_1(), cgraph_edge(), cgraph_edge_remove_caller(), cgraph_make_edge_direct(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_set_call_stmt(), cgraph_speculative_call_info(), cgraph_turn_edge_to_speculative(), cgraph_update_edge_in_call_site_hash(), convert_callers_for_node(), early_inliner(), fixup_call_stmt_edges_1(), inline_small_functions(), ipa_compute_jump_functions_for_edge(), ipa_make_edge_direct_to_target(), ipa_print_node_jump_functions(), ipa_pta_execute(), ipa_tm_diagnose_tm_safe(), ipa_tm_note_irrevocable(), lto_output_edge(), not_all_callers_have_enough_arguments_p(), remove_described_reference(), tree_function_versioning(), update_call_expr(), update_indirect_edges_after_inlining(), verify_cgraph_node(), and verify_edge_count_and_frequency().
unsigned int cgraph_edge::call_stmt_cannot_inline_p |
Referenced by can_inline_edge_p(), cgraph_clone_edge(), cgraph_create_edge_1(), cgraph_make_edge_direct(), compute_inline_parameters(), early_inliner(), evaluate_properties_for_edge(), initialize_inline_failed(), input_edge(), lto_cgraph_replace_node(), lto_output_edge(), and update_indirect_edges_after_inlining().
struct cgraph_node* cgraph_edge::callee |
Referenced by analyze_functions(), big_speedup_p(), caller_growth_limits(), can_early_inline_edge_p(), can_inline_edge_p(), cgraph_add_edge_to_call_site_hash(), cgraph_clone_edge(), cgraph_create_edge_1(), cgraph_edge_brings_value_p(), cgraph_edge_cannot_lead_to_return(), cgraph_edge_remove_callee(), cgraph_function_node(), cgraph_maybe_hot_edge_p(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_remove_node_and_inline_clones(), cgraph_resolve_speculation(), cgraph_set_edge_callee(), cgraph_update_edges_for_call_stmt_node(), clone_inlined_nodes(), compute_inline_parameters(), compute_ltrans_boundary(), convert_callers_for_node(), delete_unreachable_blocks_update_callgraph(), do_estimate_edge_hints(), do_estimate_edge_size(), do_estimate_edge_time(), dump_cgraph_node(), dump_inline_edge_summary(), dump_profile_updates(), early_inline_small_functions(), early_inliner(), edge_badness(), edge_within_scc(), estimate_calls_size_and_time(), estimate_edge_size_and_time(), evaluate_properties_for_edge(), expand_call_inline(), expand_thunk(), flatten_function(), function_and_variable_visibility(), get_read_write_all_from_node(), heap_edge_removal_hook(), initialize_inline_failed(), inline_always_inline_functions(), inline_call(), inline_merge_summary(), inline_small_functions(), inline_update_callee_summaries(), ipa_compute_jump_functions(), ipa_make_edge_direct_to_target(), ipa_modify_call_arguments(), ipa_print_node_jump_functions(), ipa_profile(), ipa_propagate_indirect_call_infos(), ipa_reverse_postorder(), ipa_tm_diagnose_tm_safe(), ipa_tm_transform_calls_redirect(), ipcp_discover_new_direct_edges(), lookup_recursive_calls(), lto_output_edge(), num_calls(), perhaps_add_new_callers(), propagate_bits(), propagate_constants_accross_call(), propagate_constants_topo(), propagate_controlled_uses(), propagate_info_to_inlined_callees(), propagate_nothrow(), propagate_pure_const(), recursive_inlining(), remap_edge_summaries(), report_inline_failed_reason(), reset_edge_caches(), searchc(), self_recursive_p(), simple_edge_hints(), speculation_useful_p(), spread_undeadness(), symtab_remove_unreachable_nodes(), try_make_edge_direct_simple_call(), update_callee_keys(), update_edge_key(), update_indirect_edges_after_inlining(), update_inlined_to_pointer(), update_noncloned_frequencies(), verify_cgraph_node(), verify_edge_corresponds_to_fndecl(), want_early_inline_function_p(), and want_inline_small_function_p().
struct cgraph_node* cgraph_edge::caller |
Referenced by assemble_thunks_and_aliases(), caller_growth_limits(), can_early_inline_edge_p(), can_inline_edge_p(), cgraph_add_edge_to_call_site_hash(), cgraph_create_edge_1(), cgraph_edge_brings_all_agg_vals_for_node(), cgraph_edge_brings_all_scalars_for_node(), cgraph_edge_brings_value_p(), cgraph_edge_cannot_lead_to_return(), cgraph_edge_remove_caller(), cgraph_for_node_thunks_and_aliases(), cgraph_make_edge_direct(), cgraph_maybe_hot_edge_p(), cgraph_propagate_frequency_1(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_resolve_speculation(), cgraph_set_call_stmt(), cgraph_speculative_call_info(), cgraph_turn_edge_to_speculative(), cgraph_update_edge_in_call_site_hash(), clone_inlined_nodes(), compute_inlined_call_time(), compute_uninlined_call_time(), convert_callers_for_node(), do_estimate_growth_1(), dump_cgraph_node(), early_inline_small_functions(), edge_badness(), edge_within_scc(), evaluate_properties_for_edge(), expand_call_inline(), find_more_scalar_values_for_callers_subset(), flatten_function(), function_and_variable_visibility(), function_called_by_processed_nodes_p(), gather_caller_stats(), has_undead_caller_from_outside_scc_p(), inline_always_inline_functions(), inline_call(), inline_merge_summary(), inline_small_functions(), inline_update_callee_summaries(), intersect_aggregates_with_edge(), ipa_compute_jump_functions_for_edge(), ipa_edge_duplication_hook(), ipa_inline(), ipa_make_edge_direct_to_target(), ipa_reverse_postorder(), ipa_tm_execute(), ipa_tm_note_irrevocable(), ipa_tm_transform_calls_redirect(), lto_output_edge(), perhaps_add_new_callers(), print_lattice(), propagate_aggs_accross_jump_function(), propagate_controlled_uses(), propagate_scalar_accross_jump_function(), reachable_from_other_partition_p(), reachable_from_this_partition_p(), recursive_inlining(), relative_time_benefit(), remove_described_reference(), report_inline_failed_reason(), reset_edge_caches(), resolve_noninline_speculation(), simple_edge_hints(), update_call_expr(), update_callee_keys(), update_edge_key(), update_indirect_edges_after_inlining(), verify_cgraph_node(), verify_edge_count_and_frequency(), want_early_inline_function_p(), and want_inline_self_recursive_call_p().
unsigned int cgraph_edge::can_throw_external |
gcov_type cgraph_edge::count |
Referenced by account_time_size(), cgraph_clone_edge(), cgraph_create_edge_1(), cgraph_maybe_hot_edge_p(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_resolve_speculation(), cgraph_turn_edge_to_speculative(), cgraph_update_edges_for_call_stmt_node(), clone_inlined_nodes(), dump_cgraph_node(), dump_histogram(), dump_profile_updates(), edge_badness(), gather_caller_stats(), get_info_about_necessary_edges(), inline_small_functions(), ipa_profile(), ipa_profile_read_summary(), lookup_recursive_calls(), lto_output_edge(), merge_profile_summaries(), perhaps_add_new_callers(), recursive_inlining(), remap_edge_summaries(), tree_function_versioning(), update_profiling_info(), update_specialized_profile(), verify_edge_count_and_frequency(), and want_inline_self_recursive_call_p().
int cgraph_edge::frequency |
Referenced by cgraph_clone_edge(), cgraph_create_edge_1(), cgraph_maybe_hot_edge_p(), cgraph_propagate_frequency_1(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_resolve_speculation(), cgraph_turn_edge_to_speculative(), cgraph_update_edges_for_call_stmt_node(), clone_inlined_nodes(), compute_inlined_call_time(), compute_uninlined_call_time(), copy_bb(), dump_cgraph_node(), dump_inline_edge_summary(), edge_badness(), estimate_edge_size_and_time(), expand_call_inline(), gather_caller_stats(), get_info_about_necessary_edges(), inline_merge_summary(), inline_node_duplication_hook(), inline_small_functions(), ipa_profile(), lookup_recursive_calls(), lto_output_edge(), print_lattice(), remap_edge_summaries(), tree_function_versioning(), update_call_edge_frequencies(), update_noncloned_frequencies(), update_profiling_info(), update_specialized_profile(), verify_edge_count_and_frequency(), and want_inline_self_recursive_call_p().
struct cgraph_indirect_call_info* cgraph_edge::indirect_info |
Referenced by analyze_functions(), cgraph_clone_edge(), cgraph_create_edge_1(), cgraph_create_indirect_edge(), cgraph_edge_cannot_lead_to_return(), cgraph_free_edge(), cgraph_make_edge_direct(), dump_possible_polymorphic_call_targets(), get_read_write_all_from_node(), initialize_node_lattices(), input_edge(), ipa_analyze_indirect_call_uses(), ipa_analyze_virtual_call_uses(), ipa_get_indirect_edge_target_1(), ipa_make_edge_direct_to_target(), ipa_note_param_call(), ipa_print_node_jump_functions(), ipa_profile(), ipa_profile_generate_summary(), ipa_read_indirect_edge_info(), ipa_write_indirect_edge_info(), ipcp_discover_new_direct_edges(), lto_output_edge(), possible_polymorphic_call_target_p(), possible_polymorphic_call_targets(), propagate_pure_const(), speculation_useful_p(), try_make_edge_direct_simple_call(), try_make_edge_direct_virtual_call(), update_indirect_edges_after_inlining(), and verify_cgraph_node().
unsigned int cgraph_edge::indirect_inlining_edge |
unsigned int cgraph_edge::indirect_unknown_callee |
Referenced by cgraph_add_edge_to_call_site_hash(), cgraph_clone_edge(), cgraph_create_edge(), cgraph_create_indirect_edge(), cgraph_edge_cannot_lead_to_return(), cgraph_edge_remove_callee(), cgraph_edge_remove_caller(), cgraph_make_edge_direct(), cgraph_node_remove_callees(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_remove_edge(), cgraph_resolve_speculation(), cgraph_set_call_stmt(), cgraph_set_call_stmt_including_clones(), cgraph_speculative_call_info(), copy_bb(), expand_call_inline(), initialize_inline_failed(), lto_output_edge(), speculation_useful_p(), and verify_cgraph_node().
cgraph_inline_failed_t cgraph_edge::inline_failed |
Referenced by add_new_edges_to_heap(), caller_growth_limits(), can_early_inline_edge_p(), can_inline_edge_p(), cgraph_clone_edge(), cgraph_create_edge_including_clones(), cgraph_remove_node_and_inline_clones(), cgraph_resolve_speculation(), cgraph_update_edges_for_call_stmt_node(), clone_inlined_nodes(), copy_bb(), delete_unreachable_blocks_update_callgraph(), do_estimate_edge_hints(), do_estimate_edge_size(), do_estimate_edge_time(), do_estimate_growth_1(), dump_cgraph_node(), dump_inline_edge_summary(), early_inline_small_functions(), estimate_calls_size_and_time(), expand_call_inline(), flatten_function(), initialize_inline_failed(), inline_always_inline_functions(), inline_call(), inline_node_duplication_hook(), inline_small_functions(), inline_update_callee_summaries(), input_edge(), lookup_recursive_calls(), lto_output_edge(), optimize_inline_calls(), propagate_info_to_inlined_callees(), recursive_inlining(), remap_edge_summaries(), report_inline_failed_reason(), reset_edge_caches(), speculation_useful_p(), symtab_remove_unreachable_nodes(), update_callee_keys(), update_caller_keys(), update_noncloned_frequencies(), verify_cgraph_node(), want_early_inline_function_p(), and want_inline_small_function_p().
unsigned int cgraph_edge::lto_stmt_uid |
Referenced by cgraph_clone_edge(), cgraph_clone_node(), cgraph_copy_node_for_versioning(), cgraph_create_edge_1(), cgraph_speculative_call_info(), cgraph_turn_edge_to_speculative(), fixup_call_stmt_edges_1(), input_edge(), ipa_make_edge_direct_to_target(), lto_output_edge(), and remove_described_reference().
struct cgraph_edge* cgraph_edge::next_callee |
Referenced by analyze_functions(), cgraph_clone_node(), cgraph_copy_node_for_versioning(), cgraph_create_edge(), cgraph_create_edge_1(), cgraph_create_indirect_edge(), cgraph_edge(), cgraph_edge_remove_caller(), cgraph_make_edge_direct(), cgraph_node_remove_callees(), cgraph_remove_node_and_inline_clones(), cgraph_speculative_call_info(), clone_inlined_nodes(), compute_inline_parameters(), compute_ltrans_boundary(), devirtualization_time_bonus(), dump_cgraph_node(), dump_inline_edge_summary(), dump_profile_updates(), early_inline_small_functions(), early_inliner(), estimate_calls_size_and_time(), fixup_call_stmt_edges_1(), flatten_function(), get_read_write_all_from_node(), initialize_node_lattices(), inline_always_inline_functions(), inline_node_duplication_hook(), inline_read_section(), inline_small_functions(), inline_transform(), inline_update_callee_summaries(), inline_write_summary(), input_node_opt_summary(), ipa_compute_jump_functions(), ipa_inline(), ipa_print_node_jump_functions(), ipa_profile(), ipa_read_node_info(), ipa_tm_diagnose_tm_safe(), ipa_write_node_info(), ipcp_discover_new_direct_edges(), lookup_recursive_calls(), merge_profile_summaries(), num_calls(), optimize_inline_calls(), output_node_opt_summary(), output_outgoing_cgraph_edges(), propagate_bits(), propagate_constants_topo(), propagate_info_to_inlined_callees(), propagate_nothrow(), propagate_pure_const(), recursive_inlining(), remap_edge_summaries(), reset_edge_caches(), reset_inline_summary(), searchc(), self_recursive_p(), spread_undeadness(), symtab_remove_unreachable_nodes(), tree_function_versioning(), update_callee_keys(), update_indirect_edges_after_inlining(), update_inlined_to_pointer(), update_noncloned_frequencies(), update_profiling_info(), update_specialized_profile(), and verify_cgraph_node().
struct cgraph_edge* cgraph_edge::next_caller |
Referenced by assemble_thunks_and_aliases(), cgraph_create_edge(), cgraph_create_edge_1(), cgraph_edge_remove_callee(), cgraph_for_node_thunks_and_aliases(), cgraph_node_remove_callers(), cgraph_propagate_frequency_1(), cgraph_set_edge_callee(), cgraph_set_nothrow_flag_1(), clone_inlined_nodes(), collect_callers_of_node_1(), convert_callers_for_node(), do_estimate_growth_1(), dump_cgraph_node(), execute_split_functions(), function_called_by_processed_nodes_p(), gather_caller_stats(), has_undead_caller_from_outside_scc_p(), inline_small_functions(), ipa_inline(), ipa_pta_execute(), ipa_reverse_postorder(), ipa_tm_execute(), ipa_tm_note_irrevocable(), lto_cgraph_replace_node(), not_all_callers_have_enough_arguments_p(), reachable_from_other_partition_p(), reachable_from_this_partition_p(), reset_edge_caches(), set_nothrow_function_flags(), update_call_expr(), update_caller_keys(), verify_cgraph_node(), and want_inline_function_to_all_callers_p().
struct cgraph_edge* cgraph_edge::prev_callee |
struct cgraph_edge* cgraph_edge::prev_caller |
Referenced by cgraph_create_edge(), cgraph_create_edge_1(), cgraph_edge_remove_callee(), and cgraph_set_edge_callee().
unsigned int cgraph_edge::speculative |
Referenced by cgraph_add_edge_to_call_site_hash(), cgraph_clone_edge(), cgraph_create_edge_1(), cgraph_make_edge_direct(), cgraph_redirect_edge_call_stmt_to_callee(), cgraph_resolve_speculation(), cgraph_set_call_stmt(), cgraph_set_call_stmt_including_clones(), cgraph_speculative_call_info(), cgraph_turn_edge_to_speculative(), clone_inlined_nodes(), copy_bb(), dump_cgraph_node(), inline_small_functions(), input_edge(), ipa_inline(), lto_output_edge(), resolve_noninline_speculation(), speculation_useful_p(), try_make_edge_direct_simple_call(), verify_cgraph_node(), and verify_edge_count_and_frequency().
int cgraph_edge::uid |
Referenced by cgraph_create_edge_1(), cgraph_free_edge(), do_estimate_edge_hints(), do_estimate_edge_size(), do_estimate_edge_time(), estimate_edge_hints(), estimate_edge_size(), estimate_edge_time(), get_next_cgraph_edge_clone(), inline_edge_summary(), ipa_edge_args_info_available_for_edge_p(), ipa_edge_removal_hook(), ipcp_edge_duplication_hook(), reset_edge_growth_cache(), reset_inline_edge_summary(), and verify_edge_count_and_frequency().