(find_equiv_reg): Set goal_mem_addr_varies
authorRichard Stallman <rms@gnu.org>
Mon, 10 May 1993 05:01:08 +0000 (05:01 +0000)
committerRichard Stallman <rms@gnu.org>
Mon, 10 May 1993 05:01:08 +0000 (05:01 +0000)
for all but true constant addresses.

From-SVN: r4406

gcc/reload.c

index 77cc05dea7e9bd3f6740ecea8c6008c01e39fc56..c2555b01fba19d194eea54628a9140ae538b08ca 100644 (file)
@@ -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.  */