compiling very large functions.

Diego Novillo dnovillo@redhat.com
Mon Nov 6 19:13:00 GMT 2006


Kenneth Zadeck wrote on 11/06/06 12:54:

> 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.
> 
I don't think it's a hackish approach.  We have policy setting at the 
high level (-O[123]), and local implementation of that policy via the 
gating functions.

Providing common predicates that every pass can use to decide whether to 
switch itself off is fine (size estimators, high connectivity, etc), but 
ultimately the analysis required to determine whether a function is too 
expensive for a pass may not be the same from one pass to the other.

OTOH, just using the gating function is not enough.  Sometimes you want 
the pass to work in a partially disabled mode (like the CD-DCE example I 
mentioned earlier).

In terms of machinery, I don't think we are missing a lot.  All the 
information is already there.  What we are missing is the implementation 
of more throttling/disabling mechanisms.



More information about the Gcc mailing list