]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[multiple changes]
authorJeffrey A Law <law@cygnus.com>
Wed, 8 Mar 2000 05:02:46 +0000 (05:02 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 8 Mar 2000 05:02:46 +0000 (22:02 -0700)
        2000-01-05  Bernd Schmidt  <bernds@cygnus.co.uk>
        * reload1.c (choose_reload_regs): When disabling a reload, also
        set reload_spill_index to -1.

        Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
        * reload1.c (reload_reg_free_for_value_p): Don't use a register
        that is in reload_reg_used.

From-SVN: r32405

gcc/ChangeLog
gcc/reload1.c

index 6c89e4a74beab34a04f4554ec470c50931f9b5d0..448a0c146f82e16620ae9a3805c19bc8c6420a40 100644 (file)
@@ -1,5 +1,13 @@
 Tue Mar  7 21:41:17 2000  Jeffrey A Law  (law@cygnus.com)
 
+       2000-01-05  Bernd Schmidt  <bernds@cygnus.co.uk>
+       * reload1.c (choose_reload_regs): When disabling a reload, also
+       set reload_spill_index to -1.
+
+       Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
+       * reload1.c (reload_reg_free_for_value_p): Don't use a register
+       that is in reload_reg_used.
+
        2000-01-18  Clinton Popetz  <cpopetz@cygnus.com>
        * loop.c (check_dbra_loop): When checking a loop for
        reversability, check the source of any stores to ensure they 
index 0ec2a92483080c341407f3d67dde53fe5d58a861..d9245b0595c01197c9e9069658d644167e7fbcc4 100644 (file)
@@ -5204,6 +5204,13 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum,
   int i;
   int copy = 0;
 
+  /* ??? reload_reg_used is abused to hold the registers that are not
+     available as spill registers, including hard registers that are
+     earlyclobbered in asms.  As a temporary measure, reject anything
+     in reload_reg_used.  */
+  if (TEST_HARD_REG_BIT (reload_reg_used, regno))
+    return 0;
+
   if (out == const0_rtx)
     {
       copy = 1;
@@ -6330,6 +6337,7 @@ choose_reload_regs (chain)
          clear_reload_reg_in_use (regno, reload_opnum[j],
                                   reload_when_needed[j], reload_mode[j]);
        reload_reg_rtx[j] = 0;
+       reload_spill_index[j] = -1;
       }
 
   /* Record which pseudos and which spill regs have output reloads.  */