This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.

We definitly needs better warning here.  If you use -dU you get .cgraph
dump file that says the reason why your function was not inlined.  I
need to find a way to get it propagated into tree-inline.c when needed.

Honza
> 
> > 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]