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: Bug in reload_cse_move2add()


On Jan  9, 2001, Alexandre Oliva <aoliva@redhat.com> wrote:

> Here's a slightly modified version of Joern's patch, so that it
> doesn't GET_CODE of a reg_offset before checking it's non-NULL.
> Tested with the new port I'm working on.  Bootstrapping on
> i686-pc-linux-gnu right now.  Ok to install?

Nope.  It fails to build stage3, complaining that the floating
constant in toplev.c:1716 is out-of-range.  I'll have to investigate
it.  Meanwhile, may I install the simpler, safer patch suggested by
Joern:

Index: reload1.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/reload1.c,v
retrieving revision 1.248
diff -p -r1.248 reload1.c
*** reload1.c	2001/01/02 00:59:52	1.248
--- reload1.c	2001/01/03 18:54:58
*************** move2add_note_store (dst, set, data)
*** 9149,9159 ****
  	      {
  		if (REGNO (src0) != regno
  		    || reg_offset[regno] != const0_rtx)
! 		  {
! 		    reg_base_reg[regno] = REGNO (src0);
! 		    reg_set_luid[regno] = move2add_luid;
! 		  }
  
  		reg_offset[regno] = XEXP (src, 1);
  		break;
  	      }
--- 9149,9157 ----
  	      {
  		if (REGNO (src0) != regno
  		    || reg_offset[regno] != const0_rtx)
! 		  reg_base_reg[regno] = REGNO (src0);
  
+ 		reg_set_luid[regno] = move2add_luid;
  		reg_offset[regno] = XEXP (src, 1);
  		break;
  	      }

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me

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