From 6de4a1e4153e13c65bfcac8401ddee2087273e35 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 30 Nov 2000 12:08:39 +0000 Subject: [PATCH] Backport a change to the 2.95 branch From-SVN: r37881 --- gcc/ChangeLog | 6 +++++- gcc/reload1.c | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b62d66afea90..f5a03d421317 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,9 +1,13 @@ 2000-11-30 Bernd Schmidt + 2000-09-18 Bernd Schmidt + * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear + its entry in spill_reg_store. + Tue Oct 26 00:41:54 1999 Bernd Schmidt * reload1.c (reload_reg_free_for_value_p): Show RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER - reloads. + reloads. 2000-02-26 Geoff Keating * reload1.c (do_output_reload): Check reg_reloaded_valid before diff --git a/gcc/reload1.c b/gcc/reload1.c index e96ae0fbcad0..40869372c9bf 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4518,7 +4518,10 @@ forget_old_reloads_1 (x, ignored) reload reg in the current instruction. */ if (n_reloads == 0 || ! TEST_HARD_REG_BIT (reg_is_output_reload, regno + i)) - CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i); + { + CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i); + spill_reg_store[regno + i] = 0; + } } /* Since value of X has changed, -- 2.47.2