From a19b1432574df7f3c59b9668adc56141db4a3333 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 9 Jan 2013 22:22:26 +0100 Subject: [PATCH] re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO) PR lto/45375 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual functions. * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data. * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA. From-SVN: r195066 --- gcc/ChangeLog | 6 ++++++ gcc/cgraphclones.c | 1 + gcc/ipa-inline.c | 2 +- gcc/lto/ChangeLog | 5 +++++ gcc/lto/lto.c | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05b8a4fc1f6..ac4c29853f1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-01-09 Jan Hubicka + + PR lto/45375 + * ipa-inline.c (ipa_inline): Remove extern inlines and virtual functions. + * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data. + 2013-01-09 Richard Sandiford PR middle-end/55114 diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c index d5bc04e0b09..cc99110e04c 100644 --- a/gcc/cgraphclones.c +++ b/gcc/cgraphclones.c @@ -184,6 +184,7 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq, new_node->symbol.decl = decl; symtab_register_node ((symtab_node)new_node); new_node->origin = n->origin; + new_node->symbol.lto_file_data = n->symbol.lto_file_data; if (new_node->origin) { new_node->next_nested = new_node->origin->nested; diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index 727a2df8275..64b7d2f9adc 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1793,7 +1793,7 @@ ipa_inline (void) } inline_small_functions (); - symtab_remove_unreachable_nodes (true, dump_file); + symtab_remove_unreachable_nodes (false, dump_file); free (order); /* Inline functions with a property that after inlining into all callers the diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 061408fc0b8..503ff80460b 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2013-01-09 Jan Hubicka + + PR lto/45375 + * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA. + 2012-12-10 H.J. Lu PR lto/55466 diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 915303e7e09..3bd890a65e4 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -3215,6 +3215,7 @@ do_whole_program_analysis (void) cgraph_state = CGRAPH_STATE_IPA_SSA; execute_ipa_pass_list (all_regular_ipa_passes); + symtab_remove_unreachable_nodes (false, dump_file); if (cgraph_dump_file) {