On 11/5/06, Eric Botcazou <[EMAIL PROTECTED]> wrote:
> AFAIK not one of the tree optimizers disables itself, but perhaps we
> should. The obvious candidates would be the ones that require
> recomputation of alias analysis, and the ones that don't update SSA
> info on the fly (i.e. require update_ssa, which is a horrible compile
> time hog).
Tree alias analysis can partially disable itself though:
/* If the program has too many call-clobbered variables and/or function
calls, create .GLOBAL_VAR and use it to model call-clobbering
semantics at call sites. This reduces the number of virtual operands
considerably, improving compile times at the expense of lost
aliasing precision. */
maybe_create_global_var (ai);
We have found this to be quite helpful on gigantic elaboration procedures
generated for Ada packages instantiating gazillions of generics. We have
actually lowered the threshold locally.
Heh, I believe you! :-)
IMHO we should add a OPT_Wdisabled_optimization warning there, though.
Gr.
Steven