This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: register renaming causes many ARM testsuite failures
- To: Richard Henderson <rth at redhat dot com>
- Subject: Re: register renaming causes many ARM testsuite failures
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Thu, 4 Jan 2001 14:23:56 +0000 (GMT)
- Cc: Philip Blundell <philb at gnu dot org>, <gcc-bugs at gcc dot gnu dot org>
On Wed, 3 Jan 2001, Richard Henderson wrote:
> On Wed, Jan 03, 2001 at 07:57:51PM +0000, Philip Blundell wrote:
> > >The function build_def_use uses constraints to determine which registers can
> > >be used for renaming. The relevant bit of code is this:
> >
> > If I'm reading that right, it just notes which class an operand is in so
Actually, it records which class the constraints say the operand has to be in,
but I do see the problem now - the operands depend on each other.
I didn't think this could be a problem since reload doesn't look at anything
but constraints, thus it shouldn't matter if renaming does the same. But if
you set up an insn just so that it'll never need reloading (or is created
afterwards), then of course the imprecise constraints never cause problems.
> He's right Bernd. We're going to need some way to squash renaming
> in this case. Probably through a new constraint token indicating
> that we shouldn't consider this operand for renaming.
Hmm. It's not pretty but I can't think of any better idea. Using the
predicates and conditions is right out if we want this to stay efficient.
Bernd