diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-10 05:01:08 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-10 05:01:08 +0000 |
commit | 54b5ffe9613e1e4e657f5eefdf14ec1ace77f682 (patch) | |
tree | caded727130d0dac56fa71f8b7d68035bcbd13f0 /gcc | |
parent | 1ede52a6b92ae7e382beba28a1401184d0de00bd (diff) | |
download | gcc-54b5ffe9613e1e4e657f5eefdf14ec1ace77f682.zip gcc-54b5ffe9613e1e4e657f5eefdf14ec1ace77f682.tar.gz gcc-54b5ffe9613e1e4e657f5eefdf14ec1ace77f682.tar.bz2 |
(find_equiv_reg): Set goal_mem_addr_varies
for all but true constant addresses.
From-SVN: r4406
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reload.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 77cc05d..c2555b0 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -5176,7 +5176,9 @@ find_equiv_reg (goal, insn, class, other, reload_reg_p, goalreg, mode) } if (goal_mem) - goal_mem_addr_varies = rtx_addr_varies_p (goal); + /* We must treat frame pointer as varying here, + since it can vary--in a nonlocal goto as generated by expand_goto. */ + goal_mem_addr_varies = !CONSTANT_ADDRESS_P (XEXP (goal, 0)); /* Now verify that the values of GOAL and VALUE remain unaltered until INSN is reached. */ |