aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-08-14 00:14:09 +0000
committerJeff Law <law@gcc.gnu.org>1998-08-13 18:14:09 -0600
commitbb22893c6107fd002133832ec7d754eee5f6de91 (patch)
tree927715756241676aa3bcc7e9f9e19003476e4cb9
parent988ee12c8aed637353046f84fc90a9240d2f8b17 (diff)
downloadgcc-bb22893c6107fd002133832ec7d754eee5f6de91.zip
gcc-bb22893c6107fd002133832ec7d754eee5f6de91.tar.gz
gcc-bb22893c6107fd002133832ec7d754eee5f6de91.tar.bz2
reload1.c (eliminate_regs_in_insn): Handle another case when eliminating the frame pointer to the hard frame pointer.
* reload1.c (eliminate_regs_in_insn): Handle another case when eliminating the frame pointer to the hard frame pointer. Add missing ep->to_rtx check to one existing case. From-SVN: r21705
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/reload1.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c78c4d6..d8d6861 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
Thu Aug 13 20:14:40 1998 Jim Wilson <wilson@cygnus.com>
+ * reload1.c (eliminate_regs_in_insn): Handle another case when
+ eliminating the frame pointer to the hard frame pointer. Add
+ missing ep->to_rtx check to one existing case.
+
* mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com>
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 2755ee6..239afd8 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -3416,8 +3416,13 @@ eliminate_regs_in_insn (insn, replace)
if (src == ep->to_rtx)
offset = 0, ok = 1;
else if (GET_CODE (src) == PLUS
- && GET_CODE (XEXP (src, 0)) == CONST_INT)
+ && GET_CODE (XEXP (src, 0)) == CONST_INT
+ && XEXP (src, 1) == ep->to_rtx)
offset = INTVAL (XEXP (src, 0)), ok = 1;
+ else if (GET_CODE (src) == PLUS
+ && GET_CODE (XEXP (src, 1)) == CONST_INT
+ && XEXP (src, 0) == ep->to_rtx)
+ offset = INTVAL (XEXP (src, 1)), ok = 1;
else if ((prev_insn = prev_nonnote_insn (insn)) != 0
&& (prev_set = single_set (prev_insn)) != 0
&& rtx_equal_p (SET_DEST (prev_set), src))