integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL, look inside a (mem (addressof (mem ...))).

* integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL,
	look inside a (mem (addressof (mem ...))).

From-SVN: r17075
This commit is contained in:
Richard Kenner 1997-12-12 16:06:57 +00:00 committed by Jeff Law
parent 73cea257d4
commit 8a173c73b5
2 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,7 @@
Wed Dec 10 18:38:56 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri Dec 12 08:01:44 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Version 2.8.0 released.
* integrate.c (initialize_for_inline): In DECL_RTL of a PARM_DECL,
look inside a (mem (addressof (mem ...))).
Wed Dec 10 18:38:28 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>

View File

@ -276,6 +276,13 @@ initialize_for_inline (fndecl, min_labelno, max_labelno, max_reg, copy)
{
rtx p = DECL_RTL (parms);
/* If we have (mem (addressof (mem ...))), use the inner MEM since
otherwise the copy_rtx call below will not unshare the MEM since
it shares ADDRESSOF. */
if (GET_CODE (p) == MEM && GET_CODE (XEXP (p, 0)) == ADDRESSOF
&& GET_CODE (XEXP (XEXP (p, 0), 0)) == MEM)
p = XEXP (XEXP (p, 0), 0);
if (GET_CODE (p) == MEM && copy)
{
/* Copy the rtl so that modifications of the addresses