ipa-inline-transform.c (inline_call): Always update jump functions after inlining.
authorJan Hubicka <jh@suse.cz>
Thu, 22 Sep 2011 11:57:43 +0000 (13:57 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 22 Sep 2011 11:57:43 +0000 (11:57 +0000)
commit5ee53a067403d9cccadb7f599652581c298088b3
treeb8f1b5b279159d592c4f9d9ddd21e222f26b5fd4
parentaa0b3f8f8d4748aaaee4892ed0d5d85abb2e86f6
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/ChangeLog
gcc/ipa-inline-analysis.c
gcc/ipa-inline-transform.c
gcc/ipa-inline.c
gcc/ipa-prop.c
gcc/ipa-prop.h