This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: IRA conflict graph & alternative selection
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: GCC Development <gcc at gcc dot gnu dot org>, Jeffrey A Law <law at redhat dot com>, Vladimir Makarov <vmakarov at redhat dot com>, Michael Matz <matz at suse dot de>
- Date: Fri, 13 Feb 2009 17:45:09 +0100
- Subject: Re: IRA conflict graph & alternative selection
- References: <49958DCA.5000300@redhat.com> <4995A21B.8080103@redhat.com>
> As for copies, I think it would be a bad decision to stick only to
> original (after the code selection) alternative and generate copies to
> satisfy this alternative. For example, if pseudo got memory instead of
> hard-register required by the alternative, it would be bad to generate a
> copy (ld/st in this case) if memory is accepted by the insn.
Yes, spilling is a special case (see also PR19398). If something is
spilled, "prereloads" could be rolled back for affected instructions and
recomputed (possibly forcing no change on the constraints of other
registers).
> That is in brief how I see it and there are a lot of reload details
> missed (like virtual register eliminations or addressing displacement
> constraints etc).
I suppose those would stay in reload? Michael, what were your
intentions for the insn-sel branch? (Sorry to remind you of that :-P).
Paolo