aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-07-06 20:33:33 +0000
committerJeffrey A Law <law@cygnus.com>1998-07-06 20:33:33 +0000
commit79dc133bd67f31a4f66829d0748fa3774b34fe32 (patch)
tree16d461ceb1205343e6d43218a91bc19a6239d494 /gcc/reload.c
parent673f0be02eabbf44ab7e4110dc481582bbc515a0 (diff)
* Disable the following change from gcc2. Not appropriate for egcs:
Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * reload.c (find_reloads): Give preference to pseudo that was the reloaded output of previous insn. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@20955 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r--gcc/reload.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/reload.c b/gcc/reload.c
index c010943021b..ab04ae3e341 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -3222,14 +3222,20 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
&& this_alternative_matches[i] < 0)
bad = 1;
+#if 0
/* If this is a pseudo-register that is set in the previous
insns, there's a good chance that it will already be in a
spill register and we can use that spill register. So
- make this case cheaper. */
+ make this case cheaper.
+
+ Disabled for egcs. egcs has better inheritance code and
+ this change causes problems with the improved reload
+ inheritance code. */
if (GET_CODE (operand) == REG
&& REGNO (operand) >= FIRST_PSEUDO_REGISTER
&& REGNO (operand) == last_output_reload_regno)
reject--;
+#endif
/* If this is a constant that is reloaded into the desired
class by copying it to memory first, count that as another