aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cgraphunit.c22
2 files changed, 17 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b2b7a14..35dfeb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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.
2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index dfe4c71..932c418 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -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