This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: inlining failed
On Saturday 06 September 2003 19:05, Andreas Jaeger wrote:
> Paolo Carlini <pcarlini@unitus.it> writes:
> > Gunther Piez wrote:
> >>It's still there, but you need different code to trigger it.
> >>I've tried it with gcc 3.4 20030903.
> >> Unforunatly I'm not able to simplify the offending code to more than
> >> that (and I have tried hard):
> >
> > Here I have ready at hand 3.4 20030905, checked out yesterday, and
> > everything is ok on i686-pc-linux-gnu.
>
> Since 0905 the following patch is in:
> Fri Sep 5 07:35:16 CEST 2003 Jan Hubicka <jh@suse.cz>
>
> * opts.c (decode_options): Enable unit-at-a-time at -O2.
> * params.def (max-inline-insns-single): Set to 500
> (max-inline-insns-auto): Set to 150
> * invoke.texi (max-inline-insns-single, max-inline-insns-auto):
> Update.
Ok, now i got it. Even if I declare a function 'inline', it is only inlined if
it doesn't exceed the instruction limit given by 'max-inline-insns-single' or
if it is declared with __attribute__((always_inline)). I used 'always_inline'
before as a workaround, but it's ugly for debugging.
> So, it seems that the new heuristics fixed it.
Yes.
> Gunter didn't use "current mainline" but something older,
After adding a '--param max-inline-insns-single=500' everything now gets
inlined like I want, even with my rusty old gcc 3.4 20030903 :-)
Is there a source for daily tarballs or do I have to do a cvs checkout the get
'current'?
Gunther