MIPS test failures
Mark Mitchell
mark@markmitchell.com
Mon Mar 15 00:30:00 GMT 1999
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 <mark@markmitchell.com>
* 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]);
}
More information about the Gcc-patches
mailing list