This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: PA problem
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: PA problem
- From: Jeffrey A Law <law at redhat dot com>
- Date: Wed, 28 Feb 2001 08:33:47 -0700
- cc: Richard dot Earnshaw at arm dot com, gcc-bugs at gcc dot gnu dot org
- Reply-To: law at redhat dot com
In message <orr90ihodn.fsf@guarana.lsd.ic.unicamp.br>you write:
> On Feb 28, 2001, Richard Earnshaw <rearnsha@arm.com> wrote:
>
> > Shouldn't there also be a non-overlap of op[4] with op[3]?
>
> Wouldn't the earlyclobber prevent it from being shared with any input
> operand, op[3] inclusive?
Yes, but the earlyclobber is only examined by the register allocators.
In the case where we split the instruction before register allocation we
need the ! reg_overlap_mentioned_p stuff. [OK, we *could* arrange to generate
the right code if we have an overlap, it's not worth the headache. ]
In the case where we do not split the instruction (say a -O1 compilation)
then we need to tell the register allocator about the operands can not
overlap, which we do via the earlyclobber.
As to Richard's question, yes, I believe you're right.
jeff
ps. Alex, you can probably find some of this discussion in the training
program -- I put it in there a while back because I thought it gave some
interesting insights into how constraints and insn predicates worked as
well as some insight into a couple of the optimizers.