aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ipa-inline-transform.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fcd9f5c..768f530 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_call): Only account size changes
+ for !DECL_EXTERNAL.
+
2012-10-26 Martin Jambor <mjambor@suse.cz>
PR debug/54971
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c
index 60a2962..7bb291c 100644
--- a/gcc/ipa-inline-transform.c
+++ b/gcc/ipa-inline-transform.c
@@ -269,7 +269,10 @@ inline_call (struct cgraph_edge *e, bool update_original,
|| predicated);
#endif
- if (overall_size)
+ /* Account the change of overall unit size; external functions will be
+ removed and are thus not accounted. */
+ if (overall_size
+ && !DECL_EXTERNAL (to->symbol.decl))
*overall_size += new_size - old_size;
ncalls_inlined++;