This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Please try out new inlining heuristics
On Fri, 27 Jun 2003, Jan Hubicka wrote:
> > On Thu, 26 Jun 2003, Jan Hubicka wrote:
> > > The inline limits are set via
> > > --param max-inline-insns-auto=X --param max-inline-insns-single=X
> > > The abstraction penalty (in percents):
> > > --param inline-abstraction-penalty=25
> > > Additionally there is --param large-function-insns (defaulting to 30000)
> > > and --param large-function-growth (defaulting to 200%) used to avoid
> > > huge function bodies.
> > >
> > > If you have some CPU time to spare, I would be interested in performance
> > > of various settings of inline-abstraction-penalty (20/40/60/80) and
> > > max-inline-insns-auto+max-inline-insns-single (150/300/600/900).
> >
> > In my case, I assume 600/900 are sufficient to test (for the other will
> > be loose for sure) and perhaps all of 20/40/60/80?
> First try 600/40. If that fails/pass we can try increase/decrease the
> parameters. (600/20 or 600/60 probably can come next)
Okay, the following is for current mainline versus Jan's patch with
--param max-inline-insns-auto=600
--param max-inline-insns-single=600
--param inline-abstraction-penalty=40 and 50, respectively.
Build times and sizes are along what we would have expected:
Build time size stripped size
mainline 5:16 2347068 1076480
+600/40 4:47 2671331 1096288
+600/50 4:53 2698503 1125824
However, my benchmarks seem _completely_ backwards. Either I made some
very silly operator error when building (but then, build times and sizes
seem okay), or the two options interact very unexpectedly?
| mainline | +600/40 | +600/50 |
STRATCOMP1-ALL| 6.25 (0.02)| 9.74 (0.21)| 10.29 (0.56) |
STRATCOMP-770.2-Q| 0.69 (0.00)| 1.64 (0.00)| 1.67 (0.03) |
2QBF1| 18.75 (0.00)| 44.88 (0.07)| 44.93 (0.08) |
PRIMEIMPL2| 9.76 (0.00)| 59.85 (0.00)| 64.07 (0.02) |
ANCESTOR|107.19 (0.78)|226.90 (0.26)|226.07 (0.05) |
3COL-SIMPLEX1| 6.01 (0.00)| 13.76 (0.00)| 13.67 (0.00) |
3COL-LADDER|116.00 (0.02)|242.15 (0.18)|237.30 (0.34) |
3COL-N-LADDER| 2.49 (0.01)| 4.56 (0.00)| 4.62 (0.04) |
3COL-RANDOM1| 10.87 (0.06)| 53.56 (0.12)| 57.23 (0.10) |
HP-RANDOM1| 7.31 (0.02)| 26.12 (0.07)| 26.07 (0.04) |
HAMCYCLE-FREE| 1.54 (0.00)| 7.16 (0.00)| 7.23 (0.00) |
DECOMP2| 13.17 (0.05)| 51.08 (0.01)| 50.58 (0.00) |
BW-P4-Esra-a| 74.02 (0.31)|204.28 (0.08)|210.87 (0.09) |
BW-P5-nopush| 6.90 (0.02)| 18.16 (0.02)| 18.76 (0.02) |
BW-P5-pushbin| 5.57 (0.02)| 17.42 (0.02)| 17.87 (0.02) |
BW-P5-nopushbin| 1.78 (0.00)| 5.60 (0.00)| 5.71 (0.01) |
3SAT-1| 30.44 (0.02)|182.10 (0.02)|194.13 (0.05) |
3SAT-1-CONSTRAINT| 18.51 (0.01)|107.94 (0.04)|112.51 (0.37) |
HANOI-Towers| 3.31 (0.01)| 9.27 (0.01)| 9.28 (0.01) |
RAMSEY| 6.93 (0.00)| 21.11 (0.00)| 20.91 (0.00) |
CRISTAL| 7.00 (0.04)| 16.03 (0.01)| 16.26 (0.02) |
HANOI-K| 36.69 (0.07)|169.70 (0.32)|176.80 (0.42) |
21-QUEENS| 8.35 (0.03)| 55.87 (0.10)| 57.45 (0.05) |
MSTDir[V=13,A=40]| 18.18 (0.03)| 63.51 (0.97)| 63.80 (0.03) |
MSTDir[V=15,A=40]| 18.17 (0.02)| 62.46 (0.03)| 63.23 (0.02) |
MSTUndir[V=13,A=40]| 9.48 (0.01)| 37.49 (0.01)| 37.90 (0.01) |
MSTUndir[V=15,A=40]|154.41 (0.10)|581.99 (0.09)|586.53 (0.04) |
TIMETABLING| 9.01 (0.00)| 23.27 (0.00)| 23.43 (0.01) |
Gerald