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.