> From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On Behalf Of
> Wilco Dijkstra
> 
> One could hack this a bit further and set flag_omit_frame_pointer = 2 to
> differentiate between a
> user setting and the override hack, but that's just making things even worse.
> So I see 3 possible
> solutions:
> 
> 1. Add a copy of flag_omit_frame_pointer, and only modify that in the
> override. This is the generic
> correct solution that allows any kind of modifications on the copies. This
> could be done by making
> all flags separate variables and automating the copy in the options parsing
> code. Any code that
> writes the x_flag_ variables should eventually be fixed to stop doing this to
> avoid these bugs (i386
> does this 22 times and c6x 2x).

I just sent a patch [1] following a similar approach for a problem on ARM target
when compiling for thumb1 and optimizing for size. In this case call_used_regs
will be modified to not save some registers in the prologue, ignoring any
value the user might have set.

[1] https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01970.html

So I think a general solution would be useful.

Best regards,

Thomas



Reply via email to