This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0.1 Freeze
- To: Mark Mitchell <mark at codesourcery dot com>
- Subject: Re: 3.0.1 Freeze
- From: Roman Zippel <zippel at linux-m68k dot org>
- Date: Mon, 6 Aug 2001 23:43:45 +0200 (CEST)
- cc: <gcc at gcc dot gnu dot org>
Hi,
On Mon, 6 Aug 2001, Mark Mitchell wrote:
> Please treat the 3.0 branch as frozen at this point.
>
> That means that non-documentation patches need my explicit approval.
What about the patch below? It fixes the last bug that prevents
linux-m68k from bootstrap.
It's a new version of the patch and bug described here:
http://gcc.gnu.org/ml/gcc-patches/2001-07/msg01266.html
Could someone please at least comment on this, I've sent this patch
already a few times.
bye, Roman
Index: regmove.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/regmove.c,v
retrieving revision 1.96.2.6
diff -u -r1.96.2.6 regmove.c
--- regmove.c 2001/05/14 16:31:46 1.96.2.6
+++ regmove.c 2001/08/06 21:33:19
@@ -1534,7 +1534,7 @@
struct match *matchp;
{
int likely_spilled[MAX_RECOG_OPERANDS];
- int op_no;
+ int op_no, op2_no;
int any_matches = 0;
extract_insn (insn);
@@ -1562,6 +1562,14 @@
matchp->use[op_no] = WRITE;
else if (*p == '+')
matchp->use[op_no] = READWRITE;
+ else for (op2_no = 0; op2_no < op_no; op2_no++)
+ {
+ if (matchp->use[op2_no] == READ)
+ continue;
+ if (operands_match_p(recog_data.operand[op2_no],
+ recog_data.operand[op_no]))
+ matchp->use[op_no] = matchp->use[op2_no] = READWRITE;
+ }
for (;*p && i < which_alternative; p++)
if (*p == ',')