[Bug ipa/79506] Compile time increase after r245366 (params.def (inline-min-speedup) Change from 10 to 8.)

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 14 11:13:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79506

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok, so it's IVOPTs becoming relatively slower fastest (with --param
inline-min-speedup=8 it surpasses IRA as the most expensive pass).  34% of IVO
is
spent in simple_iv (and siblings), the other 34% are spent in
determine_group_iv_cost.

Overall it seems like just the regular "larger functions compile slower".

inline change (look at the weird -0.0 badness?!)

--- tfft2.f90.078i.inline.10    2017-02-14 12:06:39.638906303 +0100
+++ tfft2.f90.078i.inline.8     2017-02-14 12:06:49.199057817 +0100
@@ -4940,12 +4940,62 @@
 Processing frequency rfft
   Called by tfft that is executed once
   Called in loop
-  not inlinable: tfft/3 -> rfft/1, --param max-inline-insns-auto limit reached
+  decreasing badness tfft/3 -> rfft/1, -0.000000 to -0.000000
    Estimating body: tfft/3
    Known to be false: not inlined
    size:590 time:24774
  Inlined into tfft which now has time 24776 and size 593, net change of +462.
-Unit growth for small function inlining: 945->1407 (48%)
+
+Considering rfft/1 with 535 size
+ to be inlined into tfft/3 in tfft2.f90:36
+ Estimated badness is -0.000000, frequency 5.67.
+    Badness calculation for tfft/3 -> rfft/1
+      size growth 462, time 4083  big_speedup
+      -0.000000: guessed profile. frequency 5.670000, count 0 caller count 0
time w/o inlining 52479.620026, time w/ inlining 47841.559998 overall growth
462 (current) 924 (original) 66204 (compensated)
+      Adjusted by hints -0.000000
+               Scaling time by probability:0.000000
+               Accounting size:2.50, time:0.00 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:2.00, time:0.00 on predicate:(true)
+               Accounting size:13.00, time:261.35 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:4.00, time:0.00 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:2.50, time:0.00 on predicate:(true)
+               Accounting size:6.00, time:35.31 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:2.00, time:0.00 on predicate:(true)
+               Accounting size:28.00, time:524.72 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:4.00, time:0.00 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:12.00, time:0.00 on predicate:(true)
+               Accounting size:14.00, time:4.84 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:2.00, time:0.00 on predicate:(true)
+               Accounting size:41.00, time:54.74 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:2.00, time:0.00 on predicate:(true)
+               Accounting size:20.50, time:65.23 on predicate:(true)
+               Accounting size:65.00, time:2192.07 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:1.50, time:0.00 on predicate:(true)
+               Accounting size:79.00, time:7097.12 on predicate:(true)
+               Accounting size:79.00, time:12617.33 on predicate:(true)
+               Accounting size:46.00, time:131.93 on predicate:(true)
+               Scaling time by probability:0.000000
+               Accounting size:2.50, time:0.00 on predicate:(true)
+               Accounting size:4.00, time:2.95 on predicate:(true)
+               Accounting size:4.00, time:6.58 on predicate:(true)
+               Accounting size:6.00, time:0.00 on predicate:(true)
+Processing frequency rfft
+  Called by tfft that is executed once
+  Called in loop
+   Estimating body: tfft/3
+   Known to be false: not inlined
+   size:1051 time:47842
+ Inlined into tfft which now has time 47844 and size 1054, net change of +461.
+Unit growth for small function inlining: 945->1868 (97%)


so we inline the main computation routine into the "main" try-this-N-times
loop.  Not sure why we get any estimated speedup here...  (maybe ipa-cp
propagated that constant call arg from both call sites, but inlining above
doesn't suggest that).


More information about the Gcc-bugs mailing list