This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: MIPS test failures



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]);
      }



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]