This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Enable SSA at -O0


On Fri, Jul 18, 2008 at 5:52 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
> Jan Hubicka wrote:
>>>>
>>>> +  /* We need to coalesce all names originating same SSA_NAME_VAR
>>>> +     so debug info remains undisturbed.  */
>>>> +  if (!optimize)
>>>
>>> Would it make sense to do this at optimize <= 1?
>>
>> I don't know. Variable splitting is quite standard technique in register
>> allocation.
>
> But, if you mean flag_web, we don't do it unless -funroll-loops or
> -fpeel-loops, on the ground that the splitting we get from out-of-SSA should
> be enough.  So, enabling this kind of coalescing at -O1 would indeed prevent
> the compiler from doing splitting.
>
>> I am not sure how serious we are about debug info quality
>> difference in between -O1 and -O2
>
> Some people (especially the AdaCore guys) have been constantly begging for
> better (usable, at least) -O1 debug info, and FWIW I second that.

I'd rather do a -Og instead.  -O1 already badly messes with debuggability.
For -Og I would chose -Os inlining heuristics for example and only do
basic propagation and dead code removal but no memory optimization or
things like SRA or IVOPTs.  Just ccp, copyprop, dce and inline accessor style
things to make C++ usable.

Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]