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]

patch applied to cse.c


Reviewed by Jim Wilson:

Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>

	* cse.c (cse_insn): Don't put hard register source into tables for
	the last insn of a libcall.

Index: cse.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/cse.c,v
retrieving revision 1.168
diff -p -r1.168 cse.c
*** cse.c	1999/05/11 01:47:36	1.168
--- cse.c	1999/06/16 19:29:47
*************** cse_insn (insn, libcall_insn)
*** 7604,7610 ****
  	    enum machine_mode mode
  	      = GET_MODE (src) == VOIDmode ? GET_MODE (dest) : GET_MODE (src);
  
! 	    if (sets[i].src_elt == 0)
  	      {
  		register struct table_elt *elt;
  
--- 7623,7634 ----
  	    enum machine_mode mode
  	      = GET_MODE (src) == VOIDmode ? GET_MODE (dest) : GET_MODE (src);
  
! 	    /* Don't put a hard register source into the table if this is
! 	       the last insn of a libcall.  */
! 	    if (sets[i].src_elt == 0
! 		&& (GET_CODE (src) != REG
! 		    || REGNO (src) >= FIRST_PSEUDO_REGISTER
! 		    || ! find_reg_note (insn, REG_RETVAL, NULL_RTX)))
  	      {
  		register struct table_elt *elt;
  


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