diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-11-10 21:14:52 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-11-10 20:14:52 +0000 |
commit | 1bad9c1806ac51abc2bf1bdf18b96924b1104ebb (patch) | |
tree | fb0b29c9c3b3f1661c40c33d122103cfc6a499c1 /gcc/ipa-cp.c | |
parent | a0e6ac44380249e8dfa4e6e4c533edfc6ad46d5b (diff) | |
download | gcc-1bad9c1806ac51abc2bf1bdf18b96924b1104ebb.zip gcc-1bad9c1806ac51abc2bf1bdf18b96924b1104ebb.tar.gz gcc-1bad9c1806ac51abc2bf1bdf18b96924b1104ebb.tar.bz2 |
auto-profile.c (afdo_indirect_call): Drop frequency.
* auto-profile.c (afdo_indirect_call): Drop frequency.
* cgraph.c (symbol_table::create_edge): Drop frequency argument.
(cgraph_node::create_edge): Drop frequency argument.
(cgraph_node::create_indirect_edge): Drop frequency argument.
(cgraph_edge::make_speculative): Drop frequency arguments.
(cgraph_edge::resolve_speculation): Do not update frequencies
(cgraph_edge::dump_edge_flags): Do not dump frequency.
(cgraph_node::dump): Check consistency in IPA mode.
(cgraph_edge::maybe_hot_p): Use IPA counter.
(cgraph_edge::verify_count_and_frequency): Rename to ...
(cgraph_edge::verify_count): ... this one; drop frequency checking.
(cgraph_node::verify_node): Update.
* cgraph.h (struct cgraph_edge): Drop frequency.
(cgraph_edge::frequency): New function.
* cgraphbuild.c (pass_build_cgraph_edges::execute): Donot pass
frequencies.
(cgraph_edge::rebuild_edges): Likewise.
* cgraphclones.c (cgraph_edge::clone): Scale only counts.
(duplicate_thunk_for_node): Do not pass frequency.
(cgraph_node::create_clone): Scale only counts.
(cgraph_node::create_virtual_clone): Do not pass frequency.
(cgraph_node::create_edge_including_clones): Do not pass frequency.
(cgraph_node::create_version_clone): Do not pass frequency.
* cgraphunit.c (cgraph_node::analyze): Do not pass frequency.
(cgraph_node::expand_thunk): Do not pass frequency.
(cgraph_node::create_wrapper): Do not pass frequency.
* gimple-iterator.c (update_call_edge_frequencies): Do not pass
frequency.
* gimple-streamer-in.c (input_bb): Scale only IPA counts.
* ipa-chkp.c (chkp_produce_thunks): Do not pass frequency.
* ipa-cp.c (ipcp_lattice::print): Use frequency function.
(gather_caller_stats): Use frequency function.
(ipcp_cloning_candidate_p): Use frequency function.
(ipcp_propagate_stage): Use frequency function.
(get_info_about_necessary_edges): Use frequency function.
(update_profiling_info): Update only IPA profile.
(update_specialized_profile): Use frequency functoin.
(perhaps_add_new_callers): Update only IPA profile.
* ipa-devirt.c (ipa_devirt): Use IPA profile.
* ipa-fnsummary.c (redirect_to_unreachable): Do not set frequrency.
(dump_ipa_call_summary): Use frequency function.
(estimate_edge_size_and_time): Use frequency function.
(ipa_merge_fn_summary_after_inlining): Use frequency function.
* ipa-inline-analysis.c (do_estimate_edge_time): Use IPA profile.
* ipa-inline-transform.c (update_noncloned_frequencies): Rename to ..
(update_noncloned_counts): ... ths one; scale counts only.
(clone_inlined_nodes): Do not scale frequency.
(inline_call): Do not pass frequency.
* ipa-inline.c (compute_uninlined_call_time): Use IPA profile.
(compute_inlined_call_time): Use IPA profile.
(want_inline_small_function_p): Use IPA profile.
(want_inline_self_recursive_call_p): Use IPA profile.
(edge_badness): Use IPA profile.
(lookup_recursive_calls): Use IPA profile.
(recursive_inlining): Do not pass frequency.
(resolve_noninline_speculation): Do not update frequency.
(inline_small_functions): Collect max of IPA profile.
(dump_overall_stats): Dump IPA porfile.
(dump_inline_stats): Dump IPA porfile.
(ipa_inline): Collect IPA stats.
* ipa-inline.h (clone_inlined_nodes): Update prototype.
* ipa-profile.c (ipa_propagate_frequency_1): Use frequency function.
(ipa_propagate_frequency): Use frequency function.
(ipa_profile): Cleanup.
* ipa-prop.c (ipa_make_edge_direct_to_target): Do not pass frequency
* ipa-utils.c (ipa_merge_profiles): Merge all profiles.
* lto-cgraph.c (lto_output_edge): Do not stream frequency.
(input_node): Do not stream frequency.
(input_edge): Do not stream frequency.
(merge_profile_summaries): Scale only IPA profiles.
* omp-simd-clone.c (simd_clone_adjust): Do not pass frequency.
* predict.c (drop_profile): Do not recompute frequency.
* trans-mem.c (ipa_tm_insert_irr_call): Do not pass frequency.
(ipa_tm_insert_gettmclone_call): Do not pass frequency.
* tree-cfg.c (execute_fixup_cfg): Drop profile to global0 if needed.
* tree-chkp.c (chkp_copy_bounds_for_assign): Do not pass frequency.
* tree-emutls.c (gen_emutls_addr): Do not pass frequency.
* tree-inline.c (copy_bb): Do not scale frequency.
(expand_call_inline): Do not scale frequency.
(tree_function_versioning): Do not scale frequency.
* ubsan.c (ubsan_create_edge): Do not pass frequency.
lto/ChangeLog:
2017-11-10 Jan Hubicka <hubicka@ucw.cz>
* lto-partition.c (lto_balanced_map): Use frequency accessor.
From-SVN: r254636
Diffstat (limited to 'gcc/ipa-cp.c')
-rw-r--r-- | gcc/ipa-cp.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 24d2be7..bc1e3ae 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -498,7 +498,7 @@ ipcp_lattice<valtype>::print (FILE * f, bool dump_sources, bool dump_benefits) fprintf (f, " [from:"); for (s = val->sources; s; s = s->next) fprintf (f, " %i(%i)", s->cs->caller->order, - s->cs->frequency); + s->cs->frequency ()); fprintf (f, "]"); } @@ -677,9 +677,9 @@ gather_caller_stats (struct cgraph_node *node, void *data) for (cs = node->callers; cs; cs = cs->next_caller) if (!cs->caller->thunk.thunk_p) { - if (cs->count.initialized_p ()) - stats->count_sum += cs->count; - stats->freq_sum += cs->frequency; + if (cs->count.ipa ().initialized_p ()) + stats->count_sum += cs->count.ipa (); + stats->freq_sum += cs->frequency (); stats->n_calls++; if (cs->maybe_hot_p ()) stats->n_hot_calls ++; @@ -731,7 +731,7 @@ ipcp_cloning_candidate_p (struct cgraph_node *node) significantly. */ if (max_count > profile_count::zero ()) { - if (stats.count_sum > node->count.apply_scale (90, 100)) + if (stats.count_sum > node->count.ipa ().apply_scale (90, 100)) { if (dump_file) fprintf (dump_file, "Considering %s for cloning; " @@ -3272,7 +3272,7 @@ ipcp_propagate_stage (struct ipa_topo_info *topo) } if (node->definition && !node->alias) overall_size += ipa_fn_summaries->get (node)->self_size; - max_count = max_count.max (node->count); + max_count = max_count.max (node->count.ipa ()); } max_new_size = overall_size; @@ -3550,9 +3550,9 @@ get_info_about_necessary_edges (ipcp_value<valtype> *val, cgraph_node *dest, if (cgraph_edge_brings_value_p (cs, src, dest)) { count++; - freq += cs->frequency; - if (cs->count.initialized_p ()) - cnt += cs->count; + freq += cs->frequency (); + if (cs->count.ipa ().initialized_p ()) + cnt += cs->count.ipa (); hot |= cs->maybe_hot_p (); } cs = get_next_cgraph_edge_clone (cs); @@ -3662,7 +3662,7 @@ update_profiling_info (struct cgraph_node *orig_node, profile_count new_sum, orig_sum; profile_count remainder, orig_node_count = orig_node->count; - if (!(orig_node_count > profile_count::zero ())) + if (!(orig_node_count.ipa () > profile_count::zero ())) return; init_caller_stats (&stats); @@ -3701,7 +3701,7 @@ update_profiling_info (struct cgraph_node *orig_node, for (cs = new_node->callees; cs; cs = cs->next_callee) /* FIXME: why we care about non-zero frequency here? */ - if (cs->frequency) + if (cs->frequency ()) cs->count = cs->count.apply_scale (new_sum, orig_node_count); else cs->count = profile_count::zero (); @@ -3741,7 +3741,7 @@ update_specialized_profile (struct cgraph_node *new_node, orig_node->count -= redirected_sum; for (cs = new_node->callees; cs; cs = cs->next_callee) - if (cs->frequency) + if (cs->frequency ()) cs->count += cs->count.apply_scale (redirected_sum, new_node_count); else cs->count = profile_count::zero (); @@ -4463,8 +4463,8 @@ perhaps_add_new_callers (cgraph_node *node, ipcp_value<valtype> *val) cs->redirect_callee_duplicating_thunks (val->spec_node); val->spec_node->expand_all_artificial_thunks (); - if (cs->count.initialized_p ()) - redirected_sum = redirected_sum + cs->count; + if (cs->count.ipa ().initialized_p ()) + redirected_sum = redirected_sum + cs->count.ipa (); } cs = get_next_cgraph_edge_clone (cs); } |