This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patches] Re: limited register renaming at -O2
Jan Hubicka <jh@suse.cz> writes:
>>
>> > This patch changes register renamer to not rename user variables unless
>> > new flag messy-debugging is set. Then I can enable it at -O2 (and get
>> > most of benefit done).
>>
>> I'm not too happy about this approach. I'd prefer if the debugging output
>> could be changed to deal with the effects of renaming.
>>
> Even I would love to see that (and in fact I want to implement it in future),
> but to my understanding, on some formats it is impossible (slabs) and we have
> other places in compiler where we supress some optimizaions because of
> debugging.
>
> I am not sure what the politic is, if the target use slabs. Would we just keep
> the info unusable, or disable register renaming when slabs are used.
> How we choose on thargets that use multiple outputs, like i386?
Well, you just need the right debug hooks.
I added support for location lists to dwarf2 already, and it works
(I'm not sure i don't have the test for things that are split over
sections backwards, but that's trivial).
I'll tell you what.
If you can make it drop labels i can refer to get the address where a
variable starts being in a given register, i'll do the rest of the
work (IE add the debug hooks to say a variable is changing to a new
register, etc)
In fact, that's why I didn't add support for it already, because i
didn't feel like hunting around final.c to figure out how to do this.
STABS could be extended to do some live range splitting trackign, but
it's not perfect.
>
> Thats why it looked to me like introducing -fmessy-debugging can be usefull
> thing to do.
>
> Honza
> >
>> Bernd
--
"I went to a 7-11 and asked for a 2x4 and a box of 3x5's. The
clerk said, "ten-four."
"-Steven Wright