]> 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:03:08 +0000 (12:03 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Thu, 30 Nov 2000 12:03:08 +0000 (12:03 +0000)
From-SVN: r37879

gcc/ChangeLog
gcc/reload1.c

index 9c60312f0f8c33594c61a9ad46d3551e4cfc38cb..fa7d9cc60be1f7aa500ab277aaeab643e99e78d8 100644 (file)
@@ -1,5 +1,9 @@
 2000-11-30  Bernd Schmidt  <bernds@redhat.co.uk>
 
+       2000-02-26  Geoff Keating  <geoffk@cygnus.com>
+       * reload1.c (do_output_reload): Check reg_reloaded_valid before
+       looking at reg_reloaded_contents.
+
        Thu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
        * emit-rtl.c (try_split): Avoid infinite loop if the split
        results in a sequence that contains the original insn.
index d9245b0595c01197c9e9069658d644167e7fbcc4..4730caaed6c807e52561da96584fc92ea3ce65c2 100644 (file)
@@ -7112,7 +7112,8 @@ emit_reload_insns (chain)
            /* We don't need to test full validity of last_regno for
               inherit here; we only want to know if the store actually
               matches the pseudo.  */
-           if (reg_reloaded_contents[last_regno] == pseudo_no
+           if (TEST_HARD_REG_BIT (reg_reloaded_valid, last_regno)
+               && reg_reloaded_contents[last_regno] == pseudo_no
                && spill_reg_store[last_regno]
                && rtx_equal_p (pseudo, spill_reg_stored_to[last_regno]))
              delete_output_reload (insn, j, last_regno);