[new-ra] DF_REF_REG_CLOBBER related bugfix

Denis Chertykov denisc@overta.ru
Fri Oct 24 18:24:00 GMT 2003


Michael Matz <matz@suse.de> writes:

> Hi,
> 
> On 24 Oct 2003, Denis Chertykov wrote:
> 
> > w1 - web without conflict_list (now w1 got stack slot)
> > w2 - 'corresponding web' (web which connected to w1 by move) and
> >      havn't a conflict with w1 because of w1->usable_regs is empty
> >
> > i1 def w1
> > ....
> > i2 move w2 <= w1
> > i3 def w2, use w2
> > i4 use w2
> > i5 use w1
> >
> > coalesce_spill_slot will try to coalesce w1 with w2.

I misunderstand you:

> I think the condition for coalescing them there simply should be, that
> w2's color is actually acceptable by w1->usable_regs.

Why `w2's color is actually acceptable by w1->usable_regs' ?

w1->usable_regs is empty. w1->usable_regs can't accept any color.


w2-coalesced-with-w1->usable_regs = w1->usable_regs AND w2->usable_regs
if w2-coalesced-with-w1->usable_regs is empty then coalesce disabled.


> This will also avoid coalescing the two, but would catch more cases

I'm agree.

> (for instance it could happen in the future, that webs have
> usable_regs empty, but nevertheless have a conflict_list).

Are you want to say that conflict_list must be even for webs with
empty usable_regs *OR* that webs with empty usable_regs can have a
conflict_list ?


Denis.
PS: how about my second mail (which I sent to you without mailing list) ?



More information about the Gcc-patches mailing list