This is the mail archive of the gcc-bugs@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: egcs-19980803 (pre-1.1) mips regressions


This patch fixes the regressions you reported, but I haven't tried running
the entire testsuite with this patch.

Thu Aug 13 19:55:05 1998  Jim Wilson  <wilson@cygnus.com>

	* reload1.c (eliminate_regs_in_insn): Handle another case when
	eliminating the frame pointer to the hard frame pointer.  Add
	missing	ep->to_rtx check to one existing case.

Index: reload1.c
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/reload1.c,v
retrieving revision 1.56
diff -p -r1.56 reload1.c
*** reload1.c	1998/07/13 11:04:45	1.56
--- reload1.c	1998/08/14 02:59:51
*************** eliminate_regs_in_insn (insn, replace)
*** 3416,3423 ****
  		if (src == ep->to_rtx)
  		  offset = 0, ok = 1;
  		else if (GET_CODE (src) == PLUS
! 			 && GET_CODE (XEXP (src, 0)) == CONST_INT)
  		  offset = INTVAL (XEXP (src, 0)), ok = 1;
  		else if ((prev_insn = prev_nonnote_insn (insn)) != 0
  			 && (prev_set = single_set (prev_insn)) != 0
  			 && rtx_equal_p (SET_DEST (prev_set), src))
--- 3416,3428 ----
  		if (src == ep->to_rtx)
  		  offset = 0, ok = 1;
  		else if (GET_CODE (src) == PLUS
! 			 && GET_CODE (XEXP (src, 0)) == CONST_INT
! 			 && XEXP (src, 1) == ep->to_rtx)
  		  offset = INTVAL (XEXP (src, 0)), ok = 1;
+ 		else if (GET_CODE (src) == PLUS
+ 			 && GET_CODE (XEXP (src, 1)) == CONST_INT
+ 			 && XEXP (src, 0) == ep->to_rtx)
+ 		  offset = INTVAL (XEXP (src, 1)), ok = 1;
  		else if ((prev_insn = prev_nonnote_insn (insn)) != 0
  			 && (prev_set = single_set (prev_insn)) != 0
  			 && rtx_equal_p (SET_DEST (prev_set), src))


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