Should -fcross-jumping be part of -O1?
Zack Weinberg
zack@codesourcery.com
Tue Dec 2 17:23:00 GMT 2003
David Carlton <carlton@kealia.com> writes:
> On Tue, 02 Dec 2003 00:26:07 -0800, "Zack Weinberg"
> <zack@codesourcery.com> said:
>
>> -O0 No optimization whatsoever.
>> Except maybe do obviously-dead code elimination.
>
> This is obviously a very special case, but dead code elimination
> sometimes makes it difficult to write tests for GDB's test suite. And
> even when working on real programs I occasionally insert dead code as
> a place where I can set breakpoints. So, personally, I'd prefer that
> -O0 be pretty stupid. (Though I don't mind if it's not the default.)
That's a good point. We seem to be trending in the direction of
having -O0 do a little bit of optimization, not much, is the main
reason I threw that in.
I think I meant unreachable code, not dead code; does that change your
opinion?
> One current side effect of optimization is that it enables lots of
> warnings (e.g. unitialized variable detection); if we're going to list
> explicit goals for different optimization levels, I would have that be
> a goal for -O1 (and of course for higher optimization levels).
One of the reasons I suggested -O1 be default is so that users would
get the warnings that require flow information with just -Wall. I've
never liked that the set of warnings issued depends on the
optimization level.
>> I do not think it is appropriate to exclude optimizations from any
>> level just because they mess up debugging info
>
> I disagree with this for -O0.
Well, -O0 shouldn't be doing any of those, just because it isn't
supposed to be doing optimizations in general, but could you explain
your opinion a little more? Or is this just reiterating what you said
above?
zw
More information about the Gcc
mailing list