Hi, this patch fixes one place where I misupdated cgraph_remove_unreachable_nodes while removing reachable flag.
Bootstrapped/regtested x86_64-linux and comitted. Honza Index: ChangeLog =================================================================== --- ChangeLog (revision 187113) +++ ChangeLog (working copy) @@ -1,3 +1,8 @@ +2012-05-03 Jan Hubicka <j...@suse.cz> + + PR middle-end/53106 + * ipa.c (cgraph_remove_unreachable_nodes): Fix handling of clones. + 2012-05-03 Jason Merrill <ja...@redhat.com> * dwarf2out.c (die_struct): Add comdat_type_p flag. Use it instead of Index: ipa.c =================================================================== --- ipa.c (revision 187011) +++ ipa.c (working copy) @@ -276,7 +276,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;