]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
basic-block.h (ALLOCA_REG_SET): Remove.
authorMark Mitchell <mark@codesourcery.com>
Sun, 5 Mar 2000 22:35:27 +0000 (22:35 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 5 Mar 2000 22:35:27 +0000 (22:35 +0000)
* basic-block.h (ALLOCA_REG_SET): Remove.
(INITIALIZE_REG_SET): New macro.
* flow.c (update_life_info): Use it.
(calculate_global_regs_live): Likewise.
(propagate_block): Likewise.
* global.c (build_insn_chain): Likewise.
* haifa-sched.c (schedule_region): Likewise.

From-SVN: r32350

gcc/ChangeLog
gcc/basic-block.h
gcc/flow.c
gcc/global.c
gcc/haifa-sched.c

index 6329243a86465791d7bab57c24d56bf728375fbe..5e410297e9288f397559d2cd4a533ae069291963 100644 (file)
@@ -1,3 +1,13 @@
+2000-03-05  Mark Mitchell  <mark@codesourcery.com>
+
+       * basic-block.h (ALLOCA_REG_SET): Remove.
+       (INITIALIZE_REG_SET): New macro.
+       * flow.c (update_life_info): Use it.
+       (calculate_global_regs_live): Likewise.
+       (propagate_block): Likewise.
+       * global.c (build_insn_chain): Likewise.
+       * haifa-sched.c (schedule_region): Likewise.
+
 2000-03-05  Stephane Carrez  <stcarrez@worldnet.fr>
 
        * dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer.
index 50cc28e0dc15ed39e961b998119dfffbe5ac6c15..0aef32b23531ba65661f3d8448b2c77c69bcd7fd 100644 (file)
@@ -98,8 +98,8 @@ do {                                                                  \
 /* Allocate a register set with oballoc.  */
 #define OBSTACK_ALLOC_REG_SET(OBSTACK) BITMAP_OBSTACK_ALLOC (OBSTACK)
 
-/* Allocate a register set with alloca.  */
-#define ALLOCA_REG_SET() BITMAP_ALLOCA ()
+/* Initialize a register set.  Returns the new register set.  */
+#define INITIALIZE_REG_SET(HEAD) bitmap_initialize (&HEAD)
 
 /* Do any cleanup needed on a regset when it is no longer used.  */
 #define FREE_REG_SET(REGSET) BITMAP_FREE(REGSET)
index 6cdda708fe194025bcf02d84c11df3e191695614..e134794f38cd5605254906cb3c3ea69026a37e7d 100644 (file)
@@ -2643,9 +2643,10 @@ update_life_info (blocks, extent, prop_flags)
      int prop_flags;
 {
   regset tmp;
+  regset_head tmp_head;
   int i;
 
-  tmp = ALLOCA_REG_SET ();
+  tmp = INITIALIZE_REG_SET (tmp_head);
 
   /* For a global update, we go through the relaxation process again.  */
   if (extent != UPDATE_LIFE_LOCAL)
@@ -2949,10 +2950,12 @@ calculate_global_regs_live (blocks_in, blocks_out, flags)
 {
   basic_block *queue, *qhead, *qtail, *qend;
   regset tmp, new_live_at_end;
+  regset_head tmp_head;
+  regset_head new_live_at_end_head;
   int i;
 
-  tmp = ALLOCA_REG_SET ();
-  new_live_at_end = ALLOCA_REG_SET ();
+  tmp = INITIALIZE_REG_SET (tmp_head);
+  new_live_at_end = INITIALIZE_REG_SET (new_live_at_end_head);
 
   /* Create a worklist.  Allocate an extra slot for ENTRY_BLOCK, and one
      because the `head == tail' style test for an empty queue doesn't 
@@ -3177,7 +3180,9 @@ propagate_block (bb, old, significant, flags)
   register rtx insn;
   rtx prev;
   regset live;
+  regset_head live_head;
   regset dead;
+  regset_head dead_head;
 
   /* Find the loop depth for this block.  Ignore loop level changes in the
      middle of the basic block -- for register allocation purposes, the 
@@ -3185,8 +3190,8 @@ propagate_block (bb, old, significant, flags)
      not in the loop pre-header or post-trailer.  */
   loop_depth = bb->loop_depth;
 
-  dead = ALLOCA_REG_SET ();
-  live = ALLOCA_REG_SET ();
+  dead = INITIALIZE_REG_SET (live_head);
+  live = INITIALIZE_REG_SET (dead_head);
 
   cc0_live = 0;
 
index 571320c3e33817a68d45c682cab11cb93db2ddbe..74d9fd2a6b736fedea3ba61f5b46589e259a6a0f 100644 (file)
@@ -1764,8 +1764,9 @@ build_insn_chain (first)
   struct insn_chain **p = &reload_insn_chain;
   struct insn_chain *prev = 0;
   int b = 0;
+  regset_head live_relevant_regs_head;
 
-  live_relevant_regs = ALLOCA_REG_SET ();
+  live_relevant_regs = INITIALIZE_REG_SET (live_relevant_regs_head);
 
   for (; first; first = NEXT_INSN (first))
     {
index 430abaf429cfbdc2466946d91a107629d7ec16d3..eb6f121d0b7c8d882f1bc8c2f99fc8edebdc3ae4 100644 (file)
@@ -6631,13 +6631,15 @@ schedule_region (rgn)
   int bb;
   int rgn_n_insns = 0;
   int sched_rgn_n_insns = 0;
+  regset_head reg_pending_sets_head;
+  regset_head reg_pending_clobbers_head;
 
   /* Set variables for the current region.  */
   current_nr_blocks = RGN_NR_BLOCKS (rgn);
   current_blocks = RGN_BLOCKS (rgn);
 
-  reg_pending_sets = ALLOCA_REG_SET ();
-  reg_pending_clobbers = ALLOCA_REG_SET ();
+  reg_pending_sets = INITIALIZE_REG_SET (reg_pending_sets_head);
+  reg_pending_clobbers = INITIALIZE_REG_SET (reg_pending_clobbers_head);
   reg_pending_sets_all = 0;
 
   /* Initializations for region data dependence analyisis.  */