This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: compiling very large functions.
- From: Kenneth Zadeck <zadeck at naturalbridge dot com>
- To: Andrew MacLeod <amacleod at redhat dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>, Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>, "Hubicha, Jan" <jh at suse dot cz>, Ian Lance Taylor <ian at airs dot com>, "Novillo, Diego" <dnovillo at redhat dot com>, Steven Bosscher <stevenb dot gcc at gmail dot com>
- Date: Mon, 06 Nov 2006 12:54:11 -0500
- Subject: Re: compiling very large functions.
- References: <454CF559.3090701@naturalbridge.com> <1162824244.4222.90.camel@localhost.localdomain>
Andrew MacLeod wrote:
> On Sat, 2006-11-04 at 15:17 -0500, Kenneth Zadeck wrote:
>
>> ld.
>>
>
>
>> However, I think that before anyone starts hacking anything, we should
>> come to a consensus on an overall strategy and implement something
>> consistent for the entire compiler rather than attack some particular
>> pass in a manner that only gets us pass the next pr.
>>
>
> I think we really do need to deal with it on a per pass basis. We
> occasionally get a monster PR which shows half a dozen (or more) serious
> time hogs. We more often get a pathological case for a specific pass.
>
> In each and every one of these cases, someone has taken a look at how to
> improve the time hog(s). Usually the result is a leaner/faster and
> improved pass, although it sometimes takes a new release for it to
> happen :-). Occasionally, we turn something off. A couple of PRs with
> massive functions are primarily responsible for the pending changes to
> out-of-ssa... And those changes will benefit small functions as well as
> the large ones.
>
>
The problem with trying to solve this problem on a per pass basis rather
than coming up with an integrate solution is that we are completely
leaving the user out of the thought process.
There are some uses who have big machines or a lot of time on their
hands and want the damn the torpedoes full speed ahead and there are
some uses that want reasonable decisions made even at high
optimization. We need to give them any easy to turn knob.
I am not saying that my original proposal was the best of all possible
worlds, but solving hacking things on a pass by pass or pr by pr basis
is not really solving the problem.
kenny