aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-01-09 22:22:26 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2013-01-09 21:22:26 +0000
commita19b1432574df7f3c59b9668adc56141db4a3333 (patch)
tree164357dbec9ec89be57c88630427a8194090c08c /gcc
parentba29dca90d1b948654eeb69c25cfc763c99b1971 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cgraphclones.c1
-rw-r--r--gcc/ipa-inline.c2
-rw-r--r--gcc/lto/ChangeLog5
-rw-r--r--gcc/lto/lto.c1
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)
{