This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [new-ra] DF_REF_REG_CLOBBER related bugfix
- From: Denis Chertykov <denisc at overta dot ru>
- To: Michael Matz <matz at suse dot de>
- Cc: Denis Chertykov <denisc at overta dot ru>, gcc-patches at gcc dot gnu dot org
- Date: 24 Oct 2003 22:12:01 +0400
- Subject: Re: [new-ra] DF_REF_REG_CLOBBER related bugfix
- References: <Pine.LNX.4.44.0310241917310.16615-100000@wotan.suse.de>
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) ?