aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1999-05-26 06:05:46 +0000
committerNick Clifton <nickc@gcc.gnu.org>1999-05-26 06:05:46 +0000
commit293ecd7d19b72360bedb218499d7a604d254b5f4 (patch)
tree661fe9fac4efdf01391e5c14dd3d7996e960fb06
parent9eb4080f6f5275430b5378468ddc820a98e5cfe3 (diff)
downloadgcc-293ecd7d19b72360bedb218499d7a604d254b5f4.zip
gcc-293ecd7d19b72360bedb218499d7a604d254b5f4.tar.gz
gcc-293ecd7d19b72360bedb218499d7a604d254b5f4.tar.bz2
Check against frame_pointer_rtx not FRAME_POINTER_REGNUM
From-SVN: r27165
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/flow.c10
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9bd4023..1617a78 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Wed May 26 06:05:10 1999 Nick Clifton <nickc@cygnus.com>
+
+ * flow.c (insn_dead_p): Check against frame_pointer_rtx not
+ FRAME_POINTER_REGNUM.
+ (mark_set_1): Ditto.
+ (mark_used_regs): Ditto.
+
Wed May 26 02:19:31 1999 Philip Blundell <pb@nexus.co.uk>
* arm.h (NEED_PLT_GOT): Fix mistake in last change.
diff --git a/gcc/flow.c b/gcc/flow.c
index a519ea8..be1f8d0 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2957,7 +2957,7 @@ insn_dead_p (x, needed, call_ok, notes)
/* Don't delete insns to set global regs. */
if ((regno < FIRST_PSEUDO_REGISTER && global_regs[regno])
/* Make sure insns to set frame pointer aren't deleted. */
- || regno == FRAME_POINTER_REGNUM
+ || r == frame_pointer_rtx
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
|| regno == HARD_FRAME_POINTER_REGNUM
#endif
@@ -3268,7 +3268,8 @@ mark_set_1 (needed, dead, x, insn, significant)
mem_set_list = gen_rtx_EXPR_LIST (VOIDmode, reg, mem_set_list);
if (GET_CODE (reg) == REG
- && (regno = REGNO (reg), regno != FRAME_POINTER_REGNUM)
+ && reg != frame_pointer_rtx
+ && (regno = REGNO (reg), 1)
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
&& regno != HARD_FRAME_POINTER_REGNUM
#endif
@@ -3733,7 +3734,7 @@ mark_used_regs (needed, live, x, final, insn)
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
|| (regno == ARG_POINTER_REGNUM && fixed_regs[regno])
#endif
- || regno == FRAME_POINTER_REGNUM)
+ || (x == frame_pointer_rtx))
{
/* If this is a register we are going to try to eliminate,
don't mark it live here. If we are successful in
@@ -3909,7 +3910,8 @@ mark_used_regs (needed, live, x, final, insn)
if ((GET_CODE (testreg) == PARALLEL
&& GET_MODE (testreg) == BLKmode)
|| (GET_CODE (testreg) == REG
- && (regno = REGNO (testreg), regno != FRAME_POINTER_REGNUM)
+ && testreg != frame_pointer_rtx
+ && (regno = REGNO (testreg), 1)
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
&& regno != HARD_FRAME_POINTER_REGNUM
#endif