aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-05-10 05:01:08 +0000
committerRichard Stallman <rms@gnu.org>1993-05-10 05:01:08 +0000
commit54b5ffe9613e1e4e657f5eefdf14ec1ace77f682 (patch)
treecaded727130d0dac56fa71f8b7d68035bcbd13f0 /gcc
parent1ede52a6b92ae7e382beba28a1401184d0de00bd (diff)
downloadgcc-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.c4
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. */