On Wed, 31 Oct 2012, Jan Hubicka wrote: > > On Wed, Oct 31, 2012 at 01:30:02PM +0100, Richard Biener wrote: > > > On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > > > unroll you mean. Because unrolling mutates the CFG too much. > > > > > Well - it was just a starting point, populating -Og with as little > > > > > as possible and 100% profitable transforms (in both debug and speed > > > > > metric). In late opts we only do (early opt queue is shared): > > > > > > > > Well, and what about early cunrolli? > > > > > > It's not there (and I would disable it for -Og). > > > > Generally, most of the loop transforms are undesirable for -Og. > > Hmm, do we have some guidelines what is and is not desirable for -Og? > Unrolling/header copying being code duplicating optimization do not really > throw away any info by themself only require debugger to understand that some > code may get duplicated, but it is not different from i.e. inlining. Of course > the subsequent const prop will make it impossible to write into the iv > variable, but do we want to support reliable writting into user vars (i.e. > disable cprop on user vars) at -Og?
No, we don't support reliable writing. We should first sort out issues with the current passes and debug info, look at compile-time and runtime performance and then add new passes. Richard.