mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-23 15:39:46 +08:00
* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
From-SVN: r187381
This commit is contained in:
parent
5a3c9cf200
commit
57228a6998
@ -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 ...
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user