* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.

From-SVN: r187381
This commit is contained in:
Jan Hubicka 2012-05-10 23:41:38 +02:00 committed by Jan Hubicka
parent 5a3c9cf200
commit 57228a6998
2 changed files with 6 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2012-05-10 Jan Hubicka <jh@suse.cz>
* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
2012-05-10 Jan Hubicka <jh@suse.cz> 2012-05-10 Jan Hubicka <jh@suse.cz>
* cgraph.h (cgraph_remove_unreachable_nodes): Rename to ... * cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...

View File

@ -310,12 +310,12 @@ symtab_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
/* For non-inline clones, force their origins to the boundary and ensure /* For non-inline clones, force their origins to the boundary and ensure
that body is not removed. */ 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)) && !gimple_has_body_p (cnode->symbol.decl))
{ {
bool noninline = cnode->clone_of->symbol.decl != cnode->symbol.decl; bool noninline = cnode->clone_of->symbol.decl != cnode->symbol.decl;
cnode = cnode->clone_of; cnode = cnode->clone_of;
if (noninline && !cnode->symbol.aux) if (noninline)
{ {
pointer_set_insert (body_needed_for_clonning, cnode->symbol.decl); pointer_set_insert (body_needed_for_clonning, cnode->symbol.decl);
enqueue_node ((symtab_node)cnode, &first, reachable); enqueue_node ((symtab_node)cnode, &first, reachable);