* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
authorJan Hubicka <jh@suse.cz>
Thu, 10 May 2012 21:41:38 +0000 (23:41 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 10 May 2012 21:41:38 +0000 (21:41 +0000)
From-SVN: r187381

gcc/ChangeLog
gcc/ipa.c

index 47b258e926004254a13ba8b152fac91d4e6ef076..b6508c3e57e5b19d48fed36c9d997a967a156320 100644 (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>
 
        * cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
index 766b26f03138b0f69e712731c1d711fb08374f2c..a107c6f0ec518dd9d859708ebc6603530ddc6f85 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -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
             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))
            {
              bool noninline = cnode->clone_of->symbol.decl != cnode->symbol.decl;
              cnode = cnode->clone_of;
-             if (noninline && !cnode->symbol.aux)
+             if (noninline)
                {
                  pointer_set_insert (body_needed_for_clonning, cnode->symbol.decl);
                  enqueue_node ((symtab_node)cnode, &first, reachable);