(init_reg_sets): Invoke INIT_ONCE_REG_SET.
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 14 Jul 1997 10:50:48 +0000 (06:50 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 14 Jul 1997 10:50:48 +0000 (06:50 -0400)
(allocate_reg_info): Invoke MAX_REGNO_REG_SET.
(regset_release_memory): Free basic_block_live_at_start storage.

From-SVN: r14424

gcc/regclass.c

index a8a1c6e730185cc393ba15e39a6f09dc9bd466eb..f3bdc7ff997e364c8fde33929f8d8799a5204e41 100644 (file)
@@ -1,5 +1,5 @@
 /* Compute register class preferences for pseudo-registers.
-   Copyright (C) 1987, 88, 91, 92, 93, 94, 96, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1987, 88, 91-96, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -346,6 +346,9 @@ init_reg_sets ()
 
        may_move_cost[i][j] = cost;
       }
+
+  /* Do any additional initialization regsets may need */
+  INIT_ONCE_REG_SET ();
 }
 
 /* After switches have been processed, which perhaps alter
@@ -1729,6 +1732,9 @@ allocate_reg_info (num_regs, new_p, renumber_p)
   if (renumber_p)
     reg_renumber = renumber;
 
+  /* Tell the regset code about the new number of registers */
+  MAX_REGNO_REG_SET (num_regs, new_p, renumber_p);
+
   regno_max = num_regs;
 }
 
@@ -1943,3 +1949,17 @@ reg_classes_intersect_p (c1, c2)
   return 0;
 }
 
+/* Release any memory allocated by register sets.  */
+
+void
+regset_release_memory ()
+{
+  if (basic_block_live_at_start)
+    {
+      free_regset_vector (basic_block_live_at_start, n_basic_blocks);
+      basic_block_live_at_start = 0;
+    }
+
+  FREE_REG_SET (regs_live_at_setjmp);
+  bitmap_release_memory ();
+}