aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-10-26 18:52:09 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2012-10-26 16:52:09 +0000
commit8256d5ca7870ab4aa5f74b9cb9183393b1024d0b (patch)
tree3a02e966b5ef2c5d9bd213a651918598ffc7e8bd
parentbe384c108068d1adfa0ee38aee0052e24ad0ca30 (diff)
downloadgcc-8256d5ca7870ab4aa5f74b9cb9183393b1024d0b.zip
gcc-8256d5ca7870ab4aa5f74b9cb9183393b1024d0b.tar.gz
gcc-8256d5ca7870ab4aa5f74b9cb9183393b1024d0b.tar.bz2
ipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL.
* ipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL. From-SVN: r192849
-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++;