aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1993-09-24 19:37:25 +0000
committerDoug Evans <dje@gnu.org>1993-09-24 19:37:25 +0000
commit6d7096b078685292f6914a35847f4c61b9321df1 (patch)
tree28b4946a6dc7b215a3fdfa2dc62753bff865efdb
parent3ba7165675e75dadfec748d6d9abede2e403e2d7 (diff)
downloadgcc-6d7096b078685292f6914a35847f4c61b9321df1.zip
gcc-6d7096b078685292f6914a35847f4c61b9321df1.tar.gz
gcc-6d7096b078685292f6914a35847f4c61b9321df1.tar.bz2
combine.c: (combinable_i3_pat): Don't add REG_DEAD notes for HARD_FRAME_POINTER_REGNUM.
* combine.c: (combinable_i3_pat): Don't add REG_DEAD notes for HARD_FRAME_POINTER_REGNUM. (subst, case SUBREG): Don't change register number or mode if it is HARD_FRAME_POINTER_REGNUM. From-SVN: r5450
-rw-r--r--gcc/combine.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 8251b2e..536ef59 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -1094,6 +1094,9 @@ combinable_i3pat (i3, loc, i2dest, i1dest, i1_not_in_src, pi3dest_killed)
if (pi3dest_killed && GET_CODE (dest) == REG
&& reg_referenced_p (dest, PATTERN (i3))
&& REGNO (dest) != FRAME_POINTER_REGNUM
+#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
+ && REGNO (dest) != HARD_FRAME_POINTER_REGNUM
+#endif
#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM
&& (REGNO (dest) != ARG_POINTER_REGNUM
|| ! fixed_regs [REGNO (dest)])
@@ -3120,6 +3123,9 @@ subst (x, from, to, in_dest, unique_copy)
if (GET_CODE (SUBREG_REG (x)) == REG
&& REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
&& REGNO (SUBREG_REG (x)) != FRAME_POINTER_REGNUM
+#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
+ && REGNO (SUBREG_REG (x)) != HARD_FRAME_POINTER_REGNUM
+#endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
&& REGNO (SUBREG_REG (x)) != ARG_POINTER_REGNUM
#endif