From 07875628ee1bbcc753b44b4d962779d577cd605a Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Thu, 23 Dec 1999 23:17:20 +0000 Subject: [PATCH] reload1.c (emit_input_reload_insns): Restore old behaviour wrt. * reload1.c (emit_input_reload_insns): Restore old behaviour wrt. 'special' reloads. From-SVN: r31081 --- gcc/ChangeLog | 5 +++++ gcc/reload1.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f90f8b86309..701b9dad772 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Dec 23 23:15:22 1999 J"orn Rennecke + + * reload1.c (emit_input_reload_insns): Restore old behaviour + wrt. 'special' reloads. + 1999-12-23 Zack Weinberg * Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on diff --git a/gcc/reload1.c b/gcc/reload1.c index 8df32e68c36..6affa682069 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6147,7 +6147,7 @@ emit_input_reload_insns (chain, rl, old, j) reg_renumber[REGNO (old)] = REGNO (rl->reg_rtx); alter_reg (REGNO (old), -1); } - return; + special = 1; } } @@ -6165,7 +6165,7 @@ emit_input_reload_insns (chain, rl, old, j) because we don't make such reloads when both the input and output need secondary reload registers. */ - if (rl->secondary_in_reload >= 0) + if (! special && rl->secondary_in_reload >= 0) { rtx second_reload_reg = 0; int secondary_reload = rl->secondary_in_reload; @@ -6283,7 +6283,7 @@ emit_input_reload_insns (chain, rl, old, j) { emit_insn (GEN_FCN (icode) (reloadreg, real_oldequiv, second_reload_reg)); - return; + special = 1; } else { @@ -6312,7 +6312,7 @@ emit_input_reload_insns (chain, rl, old, j) } #endif - if (! rtx_equal_p (reloadreg, oldequiv)) + if (! special && ! rtx_equal_p (reloadreg, oldequiv)) { rtx real_oldequiv = oldequiv; -- 2.30.2