This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Should -fcross-jumping be part of -O1?
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: "Zack Weinberg" <zack at codesourcery dot com>
- Cc: David Carlton <carlton at kealia dot com>, gcc mailing list <gcc at gcc dot gnu dot org>
- Date: Tue, 02 Dec 2003 12:23:27 -0500
- Subject: Re: Should -fcross-jumping be part of -O1?
- References: <3FC0DCD0.9000106@coyotegulch.com> <20031123162248.GA336@atrey.karlin.mff.cuni.cz> <3FC0EC7E.7070800@coyotegulch.com> <20031123173321.GO15575@kam.mff.cuni.cz> <3FC0F7A6.4010103@coyotegulch.com> <20031123181903.GW15575@kam.mff.cuni.cz> <3FC11F13.2090708@coyotegulch.com> <877k1fmxr4.fsf@egil.codesourcery.com> <yf2znebtaxt.fsf@hawaii.kealia.com> <87oeurt9y2.fsf@egil.codesourcery.com>
>>>>> 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