re PR ipa/65076 (16% tramp3d-v4.cpp compile time regression)
authorJan Hubicka <hubicka@ucw.cz>
Fri, 3 Apr 2015 18:09:13 +0000 (20:09 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 3 Apr 2015 18:09:13 +0000 (18:09 +0000)
PR ipa/65076
* ipa-inline.c (edge_badness): Add combined size to the denominator.

From-SVN: r221859

gcc/ChangeLog
gcc/ipa-inline.c

index a12d8e74ca291a8155fc34f5689ce02de5bac43e..f744674c4d16ce580c14753e404cd1546ec36541 100644 (file)
@@ -1,3 +1,8 @@
+2015-04-03  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/65076
+       * ipa-inline.c (edge_badness): Add combined size to the denominator.
+
 2015-04-03  Jakub Jelinek  <jakub@redhat.com>
 
        * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
index 77d6d85025aada221073bb195288259e5dbe9315..4533ea46be7588ee72fcda70b40bfaff60d3f606 100644 (file)
@@ -1077,8 +1077,8 @@ edge_badness (struct cgraph_edge *edge, bool dump)
   /* When profile is available. Compute badness as:
      
                  time_saved * caller_count
-     goodness =  ---------------------------------
-                growth_of_caller * overall_growth
+     goodness =  -------------------------------------------------
+                growth_of_caller * overall_growth * combined_size
 
      badness = - goodness
 
@@ -1167,6 +1167,7 @@ edge_badness (struct cgraph_edge *edge, bool dump)
            overall_growth += 256 * 256 - 256;
          denominator *= overall_growth;
         }
+      denominator *= inline_summaries->get (caller)->self_size + growth;
 
       badness = - numerator / denominator;