cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls when there is...
authorJan Hubicka <jh@suse.cz>
Fri, 2 Jan 2004 18:06:16 +0000 (19:06 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 2 Jan 2004 18:06:16 +0000 (18:06 +0000)
* cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
when there is nothing to inline but warnings are requested.
(cgraph_decide_inlining):  Fix memory leak.

From-SVN: r75333

gcc/ChangeLog
gcc/cgraphunit.c

index b2b7a14ab220406bc1ed5b60357bbe197e75bb3d..35dfeb86e231f215d3239b6496594e34b81ba4cc 100644 (file)
@@ -1,3 +1,9 @@
+2004-01-02  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
+       when there is nothing to inline but warnings are requested.
+       (cgraph_decide_inlining):  Fix memory leak.
+
 2004-01-02  Jan Hubicka  <jh@suse.cz>
 
        * expr.c (store_constructor):  Fix pasto in previous patch.
index dfe4c7173dca9d4174f6c855568de2f30b152c73..932c418a073c5cf1830be26b45b5fe84c1ca618f 100644 (file)
@@ -476,7 +476,7 @@ cgraph_optimize_function (struct cgraph_node *node)
       struct cgraph_edge *e;
 
       for (e = node->callees; e; e = e->next_callee)
-       if (e->inline_call)
+       if (e->inline_call || warn_inline)
          break;
       if (e)
         optimize_inline_calls (decl);
@@ -1213,17 +1213,17 @@ cgraph_decide_inlining (void)
                }
            }
        }
-
-      if (cgraph_dump_file)
-       fprintf (cgraph_dump_file,
-                "\nInlined %i calls, eliminated %i functions, "
-                "%i insns turned to %i insns.\n\n",
-                ncalls_inlined, nfunctions_inlined, initial_insns,
-                overall_insns);
-      free (order);
-      free (inlined);
-      free (inlined_callees);
     }
+
+  if (cgraph_dump_file)
+    fprintf (cgraph_dump_file,
+            "\nInlined %i calls, eliminated %i functions, "
+            "%i insns turned to %i insns.\n\n",
+            ncalls_inlined, nfunctions_inlined, initial_insns,
+            overall_insns);
+  free (order);
+  free (inlined);
+  free (inlined_callees);
 }
 
 /* Decide on the inlining.  We do so in the topological order to avoid