]> gcc.gnu.org Git - gcc.git/commitdiff
(global_alloc): Mark regs assigned to SCRATCH as used by more than
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 16 Sep 1994 23:22:39 +0000 (19:22 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 16 Sep 1994 23:22:39 +0000 (19:22 -0400)
just local alloc.

From-SVN: r8091

gcc/global.c

index 08a0f8a1e6dfa9fedf2b8e22fb1449bfe7e3b58d..ff86feca1f1917db6e64687c935ee2f5ab7165ee 100644 (file)
@@ -446,6 +446,18 @@ global_alloc (file)
     if (regs_ever_live[i])
       local_reg_n_refs[i] = 0;
 
+  /* Likewise for regs used in a SCRATCH.  */
+  for (i = 0; i < scratch_list_length; i++)
+    if (scratch_list[i])
+      {
+       int regno = REGNO (scratch_list[i]);
+       int lim = regno + HARD_REGNO_NREGS (regno, GET_MODE (scratch_list[i]));
+       int j;
+
+       for (j = regno; j < lim; j++)
+         local_reg_n_refs[j] = 0;
+      }
+       
   /* Allocate the space for the conflict and preference tables and
      initialize them.  */
 
This page took 0.071366 seconds and 5 git commands to generate.