This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Problem in assign_parms causing /u botch
- To: gcc-patches at gcc dot gnu dot org
- Subject: Problem in assign_parms causing /u botch
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Thu, 15 Feb 01 21:35:33 EST
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