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: [new-ra] DF_REF_REG_CLOBBER related bugfix


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) ?


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