This is the mail archive of the
mailing list for the GCC project.
Re: RFC: Option handling and PR 37565
Steve Ellcey <email@example.com> writes:
> On Fri, 2009-05-29 at 09:38 -0700, Ian Lance Taylor wrote:
>> Steve Ellcey <firstname.lastname@example.org> writes:
>> > So instead of
>> > if (flag_var_tracking)
>> > we would have
>> > if (targetm.get_optimization_flag_value(OPT_fvar_tracking))
>> I don't particularly want to have to make an indirect function call
>> every time we check a flag. I don't see why we should check every time
>> when we can determine the value once when the compiler starts.
> But if we want to fully support things like the __optimize__ attribute
> then we can't just check once when the compiler starts. The flag could
> be changed during compilation by the optimize attribute so at the very
> least we need to override some values every time we see this attribute
> (which is what we are not doing now).
Fair enough, but 99.9% of compilations will not use the __optimize__
attribute. So I still don't want to make an indirect function call
every time we check a flag.
Joseph's suggestion of a more disciplined approach to option
interactions may be the way to go. We can at least handle many simple
cases that way (this backend always enables/disables this option), while
retaining a C function escape clause if there are complex ones.