integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it refers to a subroutine parameter.

* integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
        refers to a subroutine parameter.

From-SVN: r55956
This commit is contained in:
Richard Henderson 2002-08-01 16:07:33 -07:00 committed by Richard Henderson
parent 3450b8d03c
commit 32e9b9606f
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2002-08-01 Richard Henderson <rth@redhat.com>
* integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
refers to a subroutine parameter.
2002-08-01 Jakub Jelinek <jakub@redhat.com>
* varasm.c (assemble_visibility): Strip name encoding.

View file

@ -2321,6 +2321,13 @@ copy_rtx_and_substitute (orig, map, for_lhs)
if (inlining && !for_lhs)
RTX_UNCHANGING_P (copy) = 0;
/* If inlining, squish aliasing data that references the subroutine's
parameter list, since that's no longer applicable. */
if (inlining && MEM_EXPR (copy)
&& TREE_CODE (MEM_EXPR (copy)) == INDIRECT_REF
&& TREE_CODE (TREE_OPERAND (MEM_EXPR (copy), 0)) == PARM_DECL)
set_mem_expr (copy, NULL_TREE);
return copy;
default: