From 5ee53a067403d9cccadb7f599652581c298088b3 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 22 Sep 2011 13:57:43 +0200 Subject: ipa-inline-transform.c (inline_call): Always update jump functions after inlining. * ipa-inline-transform.c (inline_call): Always update jump functions after inlining. * ipa-inline.c (ipa_inline): Likewise; do not call ipa_create_all_structures_for_iinln. (ipa_inline): Always free jump functions. * ipa-inline-analysis.c (evaluate_conditions_for_edge): Remove hack. (remap_edge_predicates): Fix pasto. (inline_merge_summary): Remove nlined edge predicate; remove hack. (inline_analyze_function): Always initialize jump functions. (inline_generate_summary): Likewise. (inline_write_summary): Always write jump functions when ipa-cp is not doing that. (inline_read_summary): Always read jump functions when ipa-cp is not doing that. * ipa-prop.c (iinlining_processed_edges): Remove. (update_indirect_edges_after_inlining): Do not use iinlining_processed_edges; instead set param_index to -1. (propagate_info_to_inlined_callees): Only try to indirect inlining when asked to do so; update jump functions of indirect calls, too; remove jump functions of the inlined edge. (ipa_edge_duplication_hook): Do not copy iinlining_processed_edges. (ipa_create_all_structures_for_iinln): Remove. (ipa_free_all_structures_after_iinln): Do not free iinlining_processed_edges. * ipa-prop.h (ipa_create_all_structures_for_iinln): Remove. From-SVN: r179083 --- gcc/ipa-inline.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'gcc/ipa-inline.c') diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 304a4df..f069914 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1659,10 +1659,8 @@ ipa_inline (void) XCNEWVEC (struct cgraph_node *, cgraph_n_nodes); int i; - if (in_lto_p && flag_indirect_inlining) + if (in_lto_p && optimize) ipa_update_after_lto_read (); - if (flag_indirect_inlining) - ipa_create_all_structures_for_iinln (); if (dump_file) dump_inline_summaries (dump_file); @@ -1757,7 +1755,7 @@ ipa_inline (void) } /* Free ipa-prop structures if they are no longer needed. */ - if (flag_indirect_inlining) + if (optimize) ipa_free_all_structures_after_iinln (); if (dump_file) -- cgit v1.1