[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