Should -fcross-jumping be part of -O1?
David Edelsohn
dje@watson.ibm.com
Tue Dec 2 17:31:00 GMT 2003
>>>>> Zack Weinberg writes:
>>> -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.)
Zack> That's a good point. We seem to be trending in the direction of
Zack> having -O0 do a little bit of optimization, not much, is the main
Zack> reason I threw that in.
Zack> I think I meant unreachable code, not dead code; does that change your
Zack> opinion?
Users normally want a fast write-compile-debug cycle at -O0.
Performing some minimal optimizations removing useless code reduces the
number of instructions that the compiler needs to process -- even writing
out the file -- which speeds up the compilation. Most proprietary
compilers perform some optimization at -O0. If you really want an
optimization level that doesn't touch the code at all, probably at the
expense of even slower compilation speed, add another level below -O0.
David
More information about the Gcc
mailing list