[Bug middle-end/53106] [4.8 Regression] Benchmarks in SPEC CPU 2006 failed to build

hubicka at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 25 16:22:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53106

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-04-25 16:21:03 UTC ---
Actually we make the node unanalyzed in this case.  There is one misupdated
place.  I am testing the following patch.
Index: ipa.c
===================================================================
--- ipa.c       (revision 186827)
+++ ipa.c       (working copy)
@@ -262,7 +262,8 @@ cgraph_remove_unreachable_nodes (bool be
                  for (next = cgraph (node->symbol.same_comdat_group);
                       next != node;
                       next = cgraph (next->symbol.same_comdat_group))
-                   if (!pointer_set_insert (reachable, next))
+                   if (!next->global.inlined_to
+                       && !pointer_set_insert (reachable, next))
                      enqueue_cgraph_node (next, &first, reachable);
                }
            }
@@ -276,7 +277,7 @@ cgraph_remove_unreachable_nodes (bool be
            {
              bool noninline = node->clone_of->symbol.decl !=
node->symbol.decl;
              node = node->clone_of;
-             if (noninline && !pointer_set_insert (reachable, node) &&
!node->symbol.aux)
+             if (noninline && !pointer_set_contains (reachable, node) &&
!node->symbol.aux)
                {
                  enqueue_cgraph_node (node, &first, reachable);
                  break;



More information about the Gcc-bugs mailing list