This is the mail archive of the gcc-bugs@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]

Re: register renaming causes many ARM testsuite failures


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


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