* ipa-inline-transform.c (inline_call): Only account size changes
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Oct 2012 16:52:09 +0000 (16:52 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Oct 2012 16:52:09 +0000 (16:52 +0000)
for !DECL_EXTERNAL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192849 138bc75d-0d04-0410-961f-82ee72b054a4

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

index fcd9f5c..768f530 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 60a2962..7bb291c 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++;