GCC Middle and Back End API Reference
|
Go to the source code of this file.
Data Structures | |
struct | edge_profile_info |
Macros | |
#define | EDGE_INFO(e) |
Typedefs | |
typedef struct gcov_working_set_info | gcov_working_set_t |
Functions | |
gcov_type & | edge_gcov_count (edge e) |
gcov_type & | bb_gcov_count (basic_block bb) |
gcov_working_set_t * | find_working_set (unsigned pct_times_10) |
void | add_working_set (gcov_working_set_t *) |
void | mcf_smooth_cfg (void) |
gcov_type | sum_edge_counts (vec< edge, va_gc > *edges) |
void | init_node_map (bool) |
void | del_node_map (void) |
void | get_working_sets (void) |
Variables | |
vec< gcov_type > | bb_gcov_counts |
hash_map< edge, gcov_type > * | edge_gcov_counts |
struct gcov_summary * | profile_info |
#define EDGE_INFO | ( | e | ) |
typedef struct gcov_working_set_info gcov_working_set_t |
|
extern |
|
inline |
References bb_gcov_counts, and basic_block_def::index.
Referenced by adjust_cfg_counts(), compute_branch_probabilities(), create_fixup_graph(), is_inconsistent(), and set_bb_counts().
|
extern |
Delete the CGRAPH_NODE_MAP.
References cgraph_node_map.
Referenced by ipa_profile(), and tree_profiling().
|
extern |
|
extern |
|
extern |
Initialize map from PROFILE_ID to CGRAPH_NODE. When LOCAL is true, the PROFILE_IDs are computed. when it is false we assume that the PROFILE_IDs was already assigned.
References cgraph_node_map, coverage_compute_profile_id(), symtab_node::decl, dump_enabled_p(), symtab_node::dump_name(), dump_printf_loc(), FOR_EACH_DEFINED_FUNCTION, dump_user_location_t::from_function_decl(), cgraph_node::get(), cgraph_node::has_gimple_body_p(), cgraph_node::local, MSG_MISSED_OPTIMIZATION, NULL, cgraph_node::profile_id, and cgraph_node::thunk.
Referenced by autofdo::auto_profile(), ipa_profile(), and tree_profiling().
|
extern |
Smoothes the initial assigned basic block and edge counts using a minimum cost flow algorithm.
Main routine. Smoothes the initial assigned basic block and edge counts using a minimum cost flow algorithm, to ensure that the flow consistency rule is obeyed: sum of outgoing edges = sum of incoming edges for each basic block.
References adjust_cfg_counts(), create_fixup_graph(), delete_fixup_graph(), and find_minimum_cost_flow().
Referenced by compute_branch_probabilities().
Compute the sum of the edge counts in TO_EDGES.
References edge_gcov_count(), EDGE_INFO, and FOR_EACH_EDGE.
Referenced by adjust_cfg_counts(), is_inconsistent(), and set_bb_counts().
Helpers annotating edges/basic blocks to GCOV counts.
Map from BBs/edges to gcov counters.
Referenced by bb_gcov_count(), and compute_branch_probabilities().
Referenced by compute_branch_probabilities(), and edge_gcov_count().
|
extern |
Counter summary from the last set of coverage counts read by profile.cc.
Counter summary from the last set of coverage counts read.
Referenced by afdo_callsite_hot_enough_for_early_inline(), autofdo::auto_profile(), compute_branch_probabilities(), drop_profile(), dump_function_to_file(), eliminate_partially_redundant_load(), end_auto_profile(), get_hot_bb_threshold(), gimple_account_profile_record(), handle_missing_profiles(), inline_small_functions(), ipa_propagate_frequency_1(), maybe_hot_count_p(), merge_profile_summaries(), output_profile_summary(), probably_never_executed(), profile_record_check_consistency(), read_counts_file(), report_unroll(), rtl_account_profile_record(), and tail_duplicate().