diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2017-05-23 12:59:35 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2017-05-23 10:59:35 +0000 |
commit | 0bceb671062a463aadcf0059e19308845d713838 (patch) | |
tree | 425d7dbe0a550b23ed410622c3ab724602dd8077 /gcc/ipa-inline-transform.c | |
parent | 9d029ddfdadd3a469a8069ff498a29df8cdb5393 (diff) | |
download | gcc-0bceb671062a463aadcf0059e19308845d713838.zip gcc-0bceb671062a463aadcf0059e19308845d713838.tar.gz gcc-0bceb671062a463aadcf0059e19308845d713838.tar.bz2 |
ipa-inline-analysis.c (cgraph_2edge_hook_list, [...]): Remove.
* ipa-inline-analysis.c (cgraph_2edge_hook_list, cgraph_edge_hook_list,
inline_edge_removal_hook, inline_edge_duplication_hook): Remove.
(inline_edge_summary_vec): Turn into ...
(ipa_call_summaries): ... this one.
(redirect_to_unreachable, edge_set_predicate,
evaluate_properties_for_edge, inline_summary_alloc,
reset_ipa_call_summary, reset_inline_summary,
inline_summary_t::duplicate): Update.
(inline_edge_duplication_hook): Turn to ...
(ipa_call_summary_t::duplicate): ... this one.
(inline_edge_removal_hook): Turn to ...
(ipa_call_summary_t::remove): ... this one.
(dump_inline_edge_summary): Turn to ...
(dump_ipa_call_summary): ... this one.
(estimate_function_body_sizes): Update.
(inline_update_callee_summaries): Update.
(remap_edge_change_prob): Update.
(remap_edge_summaries): Update.
(inline_merge_summary): Update.
(do_estimate_edge_time): Update.
(inline_generate_summary): Update.
(inline_read_section): Update.
(inline_read_summary): Update.
(inline_free_summary): Update.
* ipa-inline.c (can_inline_edge_p): Update.
(compute_inlined_call_time): Update.
(want_inline_small_function_p): Update.
(edge_badness): Update.
(early_inliner): Update.
* ipa-inline.h (inline_edge_summary): Turn to ...
(ipa_call_summary): ... this one.
(ipa_call_summary_t): New class.
(inline_edge_summary_t, inline_edge_summary_vec): Remove.
(ipa_call_summaries): New.
(inline_edge_summary): Remove.
(estimate_edge_growth): Update.
* ipa-profile.c (ipa_propagate_frequency_1): Update.
* ipa-prop.c (ipa_make_edge_direct_to_target): Update.
* ipa-split.c (execute_split_functions): Update.
* ipa.c (symbol_table::remove_unreachable_nodes): Update.
From-SVN: r248365
Diffstat (limited to 'gcc/ipa-inline-transform.c')
-rw-r--r-- | gcc/ipa-inline-transform.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c index d97e80d..0bd0fdd 100644 --- a/gcc/ipa-inline-transform.c +++ b/gcc/ipa-inline-transform.c @@ -204,7 +204,7 @@ clone_inlined_nodes (struct cgraph_edge *e, bool duplicate, { gcc_assert (!e->callee->alias); if (overall_size) - *overall_size -= inline_summaries->get (e->callee)->size; + *overall_size -= ipa_fn_summaries->get (e->callee)->size; nfunctions_inlined++; } duplicate = false; @@ -288,7 +288,7 @@ mark_all_inlined_calls_cdtor (cgraph_node *node) indirect edges are discovered in the process, add them to NEW_EDGES, unless it is NULL. If UPDATE_OVERALL_SUMMARY is false, do not bother to recompute overall size of caller after inlining. Caller is required to eventually do it via - inline_update_overall_summary. + ipa_update_overall_fn_summary. If callee_removed is non-NULL, set it to true if we removed callee node. Return true iff any new callgraph edges were discovered as a @@ -358,8 +358,8 @@ inline_call (struct cgraph_edge *e, bool update_original, reload_optimization_node = true; } - inline_summary *caller_info = inline_summaries->get (to); - inline_summary *callee_info = inline_summaries->get (callee); + ipa_fn_summary *caller_info = ipa_fn_summaries->get (to); + ipa_fn_summary *callee_info = ipa_fn_summaries->get (callee); if (!caller_info->fp_expressions && callee_info->fp_expressions) { caller_info->fp_expressions = true; @@ -451,22 +451,22 @@ inline_call (struct cgraph_edge *e, bool update_original, gcc_assert (curr->callee->global.inlined_to == to); - old_size = inline_summaries->get (to)->size; - inline_merge_summary (e); + old_size = ipa_fn_summaries->get (to)->size; + ipa_merge_fn_summary_after_inlining (e); if (e->in_polymorphic_cdtor) mark_all_inlined_calls_cdtor (e->callee); if (opt_for_fn (e->caller->decl, optimize)) new_edges_found = ipa_propagate_indirect_call_infos (curr, new_edges); check_speculations (e->callee); if (update_overall_summary) - inline_update_overall_summary (to); + ipa_update_overall_fn_summary (to); else /* Update self size by the estimate so overall function growth limits work for further inlining into this function. Before inlining the function we inlined to again we expect the caller to update the overall summary. */ - inline_summaries->get (to)->size += estimated_growth; - new_size = inline_summaries->get (to)->size; + ipa_fn_summaries->get (to)->size += estimated_growth; + new_size = ipa_fn_summaries->get (to)->size; if (callee->calls_comdat_local) to->calls_comdat_local = true; @@ -485,7 +485,7 @@ inline_call (struct cgraph_edge *e, bool update_original, See PR 65654. */ #if 0 /* Verify that estimated growth match real growth. Allow off-by-one - error due to INLINE_SIZE_SCALE roudoff errors. */ + error due to ipa_fn_summary::size_scale roudoff errors. */ gcc_assert (!update_overall_summary || !overall_size || new_edges_found || abs (estimated_growth - (new_size - old_size)) <= 1 || speculation_removed @@ -500,7 +500,7 @@ inline_call (struct cgraph_edge *e, bool update_original, *overall_size += new_size - old_size; ncalls_inlined++; - /* This must happen after inline_merge_summary that rely on jump + /* This must happen after ipa_merge_fn_summary_after_inlining that rely on jump functions of callee to not be updated. */ return new_edges_found; } |