aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1993-09-24 19:42:16 +0000
committerDoug Evans <dje@gnu.org>1993-09-24 19:42:16 +0000
commitb37f453b2a825e6d8d1dbb4b9fef5edbba9a5f8d (patch)
treec655b999f47720d97bf58326ab8ac7489269d5bf
parent73a187c146fc166d75bbcacccfb8470b455fdfca (diff)
downloadgcc-b37f453b2a825e6d8d1dbb4b9fef5edbba9a5f8d.zip
gcc-b37f453b2a825e6d8d1dbb4b9fef5edbba9a5f8d.tar.gz
gcc-b37f453b2a825e6d8d1dbb4b9fef5edbba9a5f8d.tar.bz2
function.c: (instantiate_virtual_regs_1...
* function.c: (instantiate_virtual_regs_1, case MEM): references to MEM via the hard frame pointer shouldn't be copied. From-SVN: r5456
-rw-r--r--gcc/function.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 1a3a375..f023d4fb 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -2604,12 +2604,18 @@ instantiate_virtual_regs_1 (loc, object, extra_insns)
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|| temp == arg_pointer_rtx
#endif
+#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
+ || temp == hard_frame_pointer_rtx
+#endif
|| temp == frame_pointer_rtx)
return 1;
if (GET_CODE (temp) == PLUS
&& CONSTANT_ADDRESS_P (XEXP (temp, 1))
&& (XEXP (temp, 0) == frame_pointer_rtx
+#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
+ || XEXP (temp, 0) == hard_frame_pointer_rtx
+#endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|| XEXP (temp, 0) == arg_pointer_rtx
#endif