re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
authorJan Hubicka <jh@suse.cz>
Wed, 9 Jan 2013 21:22:26 +0000 (22:22 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 9 Jan 2013 21:22:26 +0000 (21:22 +0000)
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
gcc/cgraphclones.c
gcc/ipa-inline.c
gcc/lto/ChangeLog
gcc/lto/lto.c

index 05b8a4fc1f6a409b743d935c8860d74d5c27df8b..ac4c29853f157e4e08dd551313a65efb3870d682 100644 (file)
@@ -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
index d5bc04e0b09cf53050f3263452d5b0e27110adfc..cc99110e04cdf2cfbc8c035bdd153f1541b3adb3 100644 (file)
@@ -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;
index 727a2df82750e8305cca907a32c0c1c484df92e1..64b7d2f9adcc3cd692f8fd2f030682600ee7b94f 100644 (file)
@@ -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
index 061408fc0b8eec60b7e2780740964de5abaf5a64..503ff80460b9b836d88893718ffcefc7b928fcea 100644 (file)
@@ -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
index 915303e7e096803589477526e0b91423465fe2ac..3bd890a65e4316d120c1dc789f892eeab720b7a6 100644 (file)
@@ -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)
     {