This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: choose_reload_regs V2.0
- To: Alan Goluban <agoluban at rasips1 dot rasip dot fer dot hr>
- Subject: Re: choose_reload_regs V2.0
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Thu, 07 Sep 2000 09:40:49 -0600
- cc: bernds at redhat dot co dot uk, gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
> to the "equiv" problem. But I still don't agree with the first part, concer
> ning
> clobbering inherited reloads. The "md" solution is OK for addi_internal ins
> n
> on MIPS. The similar problem for add insn doesn't exist on SPARC, because M
> IPS
> must use additional reg for CARRY. But, I tested egcs-20000904 snapshot on
> SPARC with asm-statements (The CVS checkout take too long).
> Here, I wasn't force "equiv" part of the problem, because it is now correct
> ed.
> The problem is still in the "inheritance" part. Here, for asm statement, it
> s
> clobber register list doesn't appear in earlyclobber list (as there are no
> earlyclobbers in the insn). In the case of MIPS and addi_internal insn, thi
> s
> won't happen as there is a test for earlyclobbers. But what about
> asm-statements? C-code is:
If the assembly code generated by a pattern modifies an output (which
includes clobbers) before all of its inputs have been read, then the output
which is modified must be marked with an earlyclobber. The MIPS patterns
clearly violate that rule as they modify the clobber before they read all
their inputs.
Someone would have to look at the Sparc to see if it has similar issues.
jeff