ipa-inline-transform.c (inline_call): Only account size changes for !DECL_EXTERNAL.
authorJan Hubicka <jh@suse.cz>
Fri, 26 Oct 2012 16:52:09 +0000 (18:52 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 26 Oct 2012 16:52:09 +0000 (16:52 +0000)
* ipa-inline-transform.c (inline_call): Only account size changes
for !DECL_EXTERNAL.

From-SVN: r192849

gcc/ChangeLog
gcc/ipa-inline-transform.c

index fcd9f5c6fdc606cc5aec30eff4afd0df04329b5b..768f530609c06bee7da832a49b466ace4ec16617 100644 (file)
@@ -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
index 60a29628aee33c40a5177804ffe5e5bb029d8a66..7bb291c7d6439a73e781afa13f068d8c3b0029f4 100644 (file)
@@ -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++;