This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: AIX regression due to DFA scheduler merge
- From: Jan Hubicka <jh at suse dot cz>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: law at redhat dot com, David Edelsohn <dje at watson dot ibm dot com>,gcc-patches at gcc dot gnu dot org, Mark Mitchell <mark at codesourcery dot com>
- Date: Fri, 31 May 2002 22:57:20 +0200
- Subject: Re: AIX regression due to DFA scheduler merge
- References: <8226.1022876793@porcupine.cygnus.com> <3CF7E0F3.52C713D7@redhat.com>
>
> > Also remember that they're scheduled as a block only in the pre-allocation
> > scheduling pass. Post allocation the libcall markers are gone and they
> > can move about freely.
>
> I'd agree if we have 2nd insn scheduler with integrated register
> renaming. But I still believe we lose opportunity to get a better code
> scheduling all LIBCALL as the group. There is less freedom of moving on
> the 2nd insn scheduling. I think that David's patch gave" a few
> improvements" mainly because CLOBBER is not counted as a real insns (so
> the scheduler better simulates the processor state).
I believe we have two kinds of libcalls - one "true" libcalls designed
to allow libcalls to be removed and they are not needed during
scheduling and I think we can simply kill the notes after flow2 pass.
Second kind is the REG_NOCONFLICT block that is even more sick than the
first, but in this case I would guess the scheduling them as unit is OK,
as noconflict blocks tends to be short.
Also teaching flow2 to understand liveness of partial registers would
solve this by killing the NOCONFLICT breakage completely.
Honza
>
> Vlad