From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Mitchell To: leei@ai.sri.com Cc: egcs@egcs.cygnus.com, egcs-patches@egcs.cygnus.com Subject: Re: MIPS test failures Date: Wed, 31 Mar 1999 23:46:00 -0000 Message-ID: <199903150833.AAA00261@adsl-206-170-148-33.dsl.pacbell.net> References: <199903130220.SAA16668@Canada.AI.SRI.COM> X-SW-Source: 1999-03n/msg00499.html Message-ID: <19990331234600.U6B2i6sS3PqXmS7f6C2DM2SyBBXcwiZWRpR1aIJlGMs@z> Here's another patch, a bit more circumspect than Lee's, which also fixes the MIPS bootstrap. I've tested this patch with a 3-stage bootstrap on mpis-sgi-irix6.5. Jeff? -- Mark Mitchell mark@markmitchell.com Mark Mitchell Consulting http://www.markmitchell.com Mon Mar 15 00:32:30 1999 Mark Mitchell * reload.c (find_reloads): Add a REG_LABEL note if we substitute a LABEL_REF for something else. Index: reload.c =================================================================== RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload.c,v retrieving revision 1.68 diff -c -p -r1.68 reload.c *** reload.c 1999/03/05 15:07:56 1.68 --- reload.c 1999/03/15 08:27:21 *************** find_reloads (insn, replace, ind_levels, *** 3854,3860 **** reload_{in,out}_reg when we do these replacements. */ if (replace) ! *recog_operand_loc[i] = substed_operand[i]; else retval |= (substed_operand[i] != *recog_operand_loc[i]); } --- 3854,3874 ---- reload_{in,out}_reg when we do these replacements. */ if (replace) ! { ! rtx substitution = substed_operand[i]; ! ! *recog_operand_loc[i] = substitution; ! ! /* If we're replacing an operand with a LABEL_REF, we need ! to make sure that there's a REG_LABEL note attached to ! this instruction. */ ! if (GET_CODE (insn) != JUMP_INSN ! && GET_CODE (substitution) == LABEL_REF ! && !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0))) ! REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL, ! XEXP (substitution, 0), ! REG_NOTES (insn)); ! } else retval |= (substed_operand[i] != *recog_operand_loc[i]); }