aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-10-26 16:52:09 +0000
committerJan Hubicka <jh@suse.cz>2012-10-26 16:52:09 +0000
commita6cb24e5f86f8daab772fc17d5a6fad1f86e9483 (patch)
tree3a02e966b5ef2c5d9bd213a651918598ffc7e8bd
parentb40da7e629c790a1f843b633f600da5ecc951208 (diff)
* ipa-inline-transform.c (inline_call): Only account size changes
for !DECL_EXTERNAL. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@192849 138bc75d-0d04-0410-961f-82ee72b054a4
-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 fcd9f5c6fdc..768f530609c 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 60a29628aee..7bb291c7d64 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++;