From f192c4ac64c69de9e4a26c2e8920f09b49d1fa5a Mon Sep 17 00:00:00 2001 From: amylaar Date: Thu, 23 Dec 1999 23:17:20 +0000 Subject: [PATCH] * reload1.c (emit_input_reload_insns): Restore old behaviour wrt. 'special' reloads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31081 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/reload1.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f90f8b8..701b9da 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 8df32e6..6affa68 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.7.4