Fix Mozilla LTO build

Jan Hubicka hubicka@ucw.cz
Thu May 10 21:43:00 GMT 2012


Hi,
Mozilla LTO build broke due because symtab_remove_unreachable_nodes incorrectly removes origins of clones
in some special cases.

Bootstrapped/regtested x97_64-linux and comitted.
Index: ipa.c
===================================================================
--- ipa.c	(revision 187375)
+++ ipa.c	(working copy)
@@ -310,12 +310,12 @@ symtab_remove_unreachable_nodes (bool be
 
 	  /* For non-inline clones, force their origins to the boundary and ensure
 	     that body is not removed.  */
-	  while (cnode->clone_of && !cnode->clone_of->symbol.aux
+	  while (cnode->clone_of
 	         && !gimple_has_body_p (cnode->symbol.decl))
 	    {
 	      bool noninline = cnode->clone_of->symbol.decl != cnode->symbol.decl;
 	      cnode = cnode->clone_of;
-	      if (noninline && !cnode->symbol.aux)
+	      if (noninline)
 	      	{
 	          pointer_set_insert (body_needed_for_clonning, cnode->symbol.decl);
 		  enqueue_node ((symtab_node)cnode, &first, reachable);



More information about the Gcc-patches mailing list