aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-10-22 22:49:04 +0000
committerJim Wilson <wilson@gcc.gnu.org>1998-10-22 15:49:04 -0700
commit04bbb0c54c7907baf626fb576536d82a78f7f43d (patch)
treedaa31ef09a9bc0f660f5229242c0f900410ad4c2 /gcc
parent9324411a50ae8a1dd51eac8c93ff251ba063915f (diff)
downloadgcc-04bbb0c54c7907baf626fb576536d82a78f7f43d.zip
gcc-04bbb0c54c7907baf626fb576536d82a78f7f43d.tar.gz
gcc-04bbb0c54c7907baf626fb576536d82a78f7f43d.tar.bz2
Fix m68k-aout build failure. Invalid insn abort while compiling newlib.
* reload1.c (reload_as_needed): When rewrite POST_INC, verify reg_reloaded_contents matches incremented pseudo. From-SVN: r23235
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/reload1.c7
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cb9dd65..22c2bd0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
Thu Oct 22 22:34:42 1998 Jim Wilson <wilson@cygnus.com>
+ * reload1.c (reload_as_needed): When rewrite POST_INC, verify
+ reg_reloaded_contents matches incremented pseudo.
+
* v850/v850.c (v850_reorg): Call alter_subreg. Delete subreg support.
Fri Oct 23 11:11:56 1998 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 74d5ed4..a8cc173 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -4478,7 +4478,12 @@ reload_as_needed (live_known)
or we can't use the reload register for inheritance. */
if ((code == POST_INC || code == POST_DEC)
&& TEST_HARD_REG_BIT (reg_reloaded_valid,
- REGNO (reload_reg_rtx[i])))
+ REGNO (reload_reg_rtx[i]))
+ /* Make sure it is the inc/dec pseudo, and not
+ some other (e.g. output operand) pseudo. */
+ && (reg_reloaded_contents[REGNO (reload_reg_rtx[i])]
+ == REGNO (XEXP (in_reg, 0))))
+
{
rtx reload_reg = reload_reg_rtx[i];
enum machine_mode mode = GET_MODE (reload_reg);