On Thu, Nov 08, 2007 at 02:36:57PM -0200, Alexandre Oliva wrote: > > 3. The quality of code at -O0 is really terrible > > That's a feature, no?
Actually it's a misfeature, in that it's worse than it needs to be, and it's worse in ways that increase the time required to produce it (since a larger volume of code then has to be handled by the back end, assembler, and linker). Debugging would be just as easy and natural if -O0 only made sure that values of variables are written out to memory at positions where the user can set a breakpoint; the code doesn't need to preserve every operation exactly as written, or read variables in from memory that are already in registers. Kind of an -O0.5 would be more desirable than what we have now.