http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55797



--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> 2013-01-23 
14:19:51 UTC ---

I am testing the following patch. It is a side case where we save function body

but the function we save the body of becomes unnecesary as a result of dead

block removal during inlining that is caused by ipa-pure-const proving function

nothorw.

We get it almost right by removing the unnecesary clone after saving, but we

forget about the edge.



Index: cgraphclones.c

===================================================================

--- cgraphclones.c      (revision 195370)

+++ cgraphclones.c      (working copy)

@@ -570,7 +570,10 @@ cgraph_remove_node_and_inline_clones (st

   bool found = false;



   if (node == forbidden_node)

-    return true;

+    {

+      cgraph_remove_edge (node->callers);

+      return true;

+    }

   for (e = node->callees; e; e = next)

     {

       next = e->next_callee;

Reply via email to