]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport a change to the 2.95 branch
authorBernd Schmidt <bernds@redhat.co.uk>
Thu, 30 Nov 2000 12:08:39 +0000 (12:08 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Thu, 30 Nov 2000 12:08:39 +0000 (12:08 +0000)
From-SVN: r37881

gcc/ChangeLog
gcc/reload1.c

index b62d66afea9039f36c3971fbc8c1ed402f3c7ecb..f5a03d421317063ce2da764181f1bf9a5f864266 100644 (file)
@@ -1,9 +1,13 @@
 2000-11-30  Bernd Schmidt  <bernds@redhat.co.uk>
 
+       2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
+       * 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  <bernds@cygnus.co.uk>
        * 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  <geoffk@cygnus.com>
        * reload1.c (do_output_reload): Check reg_reloaded_valid before
index e96ae0fbcad07eca0634b040e6f650cc7c253cb6..40869372c9bff08a18dc1d323e5f4d2f58101a46 100644 (file)
@@ -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,