diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ipa-inline-transform.c | 5 |
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++; |