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]

Problem in assign_parms causing /u botch


This is the simplest solution to the problem I reported yesterday.  The code
to set RTX_UNCHANGING_P was missing in the PARM_DECL case, leading to the
equivalent MEM being unchanging, but not the pseudo, thus confusing regmove.

I applied this to both the mainline and the branch.

Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
	do in memory.

*** function.c	2001/02/06 12:39:15	1.250
--- function.c	2001/02/15 19:32:59
*************** assign_parms (fndecl)
*** 4707,4712 ****
  	    }
  	  else
! 	    DECL_RTL (parm) = parmreg;
! 
  	  /* Copy the value into the register.  */
  	  if (nominal_mode != passed_mode
--- 4707,4715 ----
  	    }
  	  else
! 	    {
! 	      DECL_RTL (parm) = parmreg;
! 	      maybe_set_unchanging (DECL_RTL (parm), parm);
! 	    }
! 	      
  	  /* Copy the value into the register.  */
  	  if (nominal_mode != passed_mode


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