This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: cgraph based inlining heuristics
- From: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Wed, 2 Jul 2003 16:32:41 +0200 (CEST)
- Subject: Re: cgraph based inlining heuristics
On Wed, 2 Jul 2003, Jan Hubicka wrote:
> > Hi,
> >
> > thanks for your continued work on improving gcc3.4 inlining!
> >
> > Did you check any of the POOMA testcases with the new heuristics yet?
> > I realize these could be only compile-time tests, but I'd be interested
> > especially in the tramp3d numbers.
>
> I am really curious about your results!
Ok, here they go. I tested four different setups:
(0) gcc3.4
(1) gcc3.4 with __attribute__((leafify)) patch
(2) gcc3.4 with your patch
(3) gcc3.4 with your patch and -funit-at-a-time
(4) gcc3.4 with your patch and -funit-at-a-time --param max-inline-insns-auto=200 --param max-inline-insns-single=200 --param inline-unit-growth=1000 --param large-function-growth=1000
flags otherwise used are
-O2 -g -march=athlon -fno-math-errno -fno-trapping-math -ffinite-math-only
-funroll-loops
(0) (1) (2) (3) (4)
binary size 10166017 10681144 8405237 8405237 9874056
compile time 2m57.503s 3m40.638s 1m19.553s 1m20.742s 2m55.031s
runtime performance 3.97s 1.66s 2.65s 2.64s 1.74s
timings are seconds per iteration. The new heuristics are a huge
improvement, both in compile and runtime! I suspect from the numbers,
that -funit-at-a-time is enabled at -O2 already? Also we probably get
the performance of __attribute__((leafify)) with no extra compile time
or binary size increase compared to (2) and (3).
So in conclusion - MANY thanks for your work! I hope it gets accepted
soon. Also I still think __attribute__((leafify)) is a useful hint to
the compiler to optimize without paying for it at other places (tuning
params as in (4) hurts too much and is not very easy to tune).
Thanks,
Richard.
---
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/