This is the mail archive of the gcc-patches@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: [RFA] Kill artificial inlining limit


On 13 May 2003, Steven Bosscher wrote:

> Op di 13-05-2003, om 12:06 schreef Richard Guenther:
> > In optimization/10679 I report that --param min-inline-insns is not
> > honoured all the time due to some strange code in tree-inline.c, so
> > I propose to kill the "doesnt happen in real code" artificial inlining
> > limit to expose another 30% performance increase in POOMA based scientific
> > applications.
> >
> > See also thread@http://gcc.gnu.org/ml/gcc/2003-05/msg00654.html
> >
> > Also Gerald Pfeifer confirmed that the removed codepath does not trigger
> > in his codebase and such the patch does not make any difference for him.
> >
> > Patch is against HEAD, but applies to 3.3, too.
> >
> > Thoughts? I'd apply it in HEAD and see, if people start complaining.
>
> Please, no.

> I have said this before, but apparently you missed it:
>
> The _front_ends_ need fixing before we can start thinking about fixing
> the middle end (and of course in particular tree-inline.c).

Yes of course, but gcc sucks _now_ with regard to inlining with
complex C++ templated scientific programs. And I really dont want
until gcc 3.5 (optimistic guess) to fix it "the right way". I'm
currently using patched gcc to get at least some performance out of it.

Oh, btw. I'm currently trying to teach gcc to honour a
__attribute__((inline_everything)) function attribute that would work
without changing the heuristics and would enable me to get those flat
inner loops that I need for cse/gcse to do their work.

Stay tuned.

Richard.

--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


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