diff options
author | Jan Hubicka <jh@suse.cz> | 2013-01-09 22:22:26 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-01-09 21:22:26 +0000 |
commit | a19b1432574df7f3c59b9668adc56141db4a3333 (patch) | |
tree | 164357dbec9ec89be57c88630427a8194090c08c /gcc | |
parent | ba29dca90d1b948654eeb69c25cfc763c99b1971 (diff) | |
download | gcc-a19b1432574df7f3c59b9668adc56141db4a3333.zip gcc-a19b1432574df7f3c59b9668adc56141db4a3333.tar.gz gcc-a19b1432574df7f3c59b9668adc56141db4a3333.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cgraphclones.c | 1 | ||||
-rw-r--r-- | gcc/ipa-inline.c | 2 | ||||
-rw-r--r-- | gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto/lto.c | 1 |
5 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 05b8a4f..ac4c298 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-01-09 Jan Hubicka <jh@suse.cz> + + 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 <rdsandiford@googlemail.com> PR middle-end/55114 diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c index d5bc04e..cc99110 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 727a2df..64b7d2f 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 061408f..503ff80 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2013-01-09 Jan Hubicka <jh@suse.cz> + + PR lto/45375 + * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA. + 2012-12-10 H.J. Lu <hongjiu.lu@intel.com> PR lto/55466 diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index 915303e..3bd890a 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) { |