diff options
author | Andreas Schwab <schwab@issan.cs.uni-dortmund.de> | 1998-10-13 17:58:34 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-10-13 17:58:34 -0600 |
commit | 2fdc44405fe0750303f45f8cb26ee755d79a679d (patch) | |
tree | 41c9c5a2dd0eeaca5bdb0f748ad51ce6c03a416e /gcc/function.c | |
parent | ce694881346f13352cc7f8daa0a9591121028c15 (diff) | |
download | gcc-2fdc44405fe0750303f45f8cb26ee755d79a679d.zip gcc-2fdc44405fe0750303f45f8cb26ee755d79a679d.tar.gz gcc-2fdc44405fe0750303f45f8cb26ee755d79a679d.tar.bz2 |
function.c (purge_addressof_1): Force the first argument of a CALL insn to memory.
�
* function.c (purge_addressof_1): Force the first argument of a
CALL insn to memory.
From-SVN: r23071
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index 3904b86..b209b13 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2950,6 +2950,12 @@ purge_addressof_1 (loc, insn, force, store) purge_addressof_1 (&SET_SRC (x), insn, force, 0); return; } + else if (code == CALL) + { + purge_addressof_1 (&XEXP (x, 0), insn, 1, 0); + purge_addressof_1 (&XEXP (x, 1), insn, force, 0); + return; + } /* Scan all subexpressions. */ fmt = GET_RTX_FORMAT (code); |