OSDN Git Service

* tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 May 2004 22:46:19 +0000 (22:46 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 May 2004 22:46:19 +0000 (22:46 +0000)
        rather than iterating through the blocks testing each bit in
        livein to initialize the worklist.
        (mark_def_sites): Remove useless checks of KILLS for virtual
        operands.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81811 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-into-ssa.c

index d42c24b..ee5c4dd 100644 (file)
 
 2004-05-13  Jeff Law  <law@redhat.com>
 
+       * tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
+       rather than iterating through the blocks testing each bit in
+       livein to initialize the worklist.
+       (mark_def_sites): Remove useless checks of KILLS for virtual
+       operands.
+
        * tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
        new parameters for the statement and variable worklist as well
        as a bitmap of interesting SSA_NAMEs.  Walk over the statement
index 34c31a0..4e19142 100644 (file)
@@ -136,16 +136,15 @@ static void
 compute_global_livein (bitmap livein, bitmap def_blocks)
 {
   basic_block bb, *worklist, *tos;
+  int i;
 
   tos = worklist
     = (basic_block *) xmalloc (sizeof (basic_block) * (last_basic_block + 1));
 
-  /* Initialize the worklist.  */
-  FOR_EACH_BB (bb)
+  EXECUTE_IF_SET_IN_BITMAP (livein, 0, i,
     {
-      if (bitmap_bit_p (livein, bb->index))
-       *tos++ = bb;
-    }
+       *tos++ = BASIC_BLOCK (i);
+    });
 
   /* Iterate until the worklist is empty.  */
   while (tos != worklist)
@@ -244,8 +243,7 @@ mark_def_sites (struct dom_walk_data *walk_data,
     {
       tree *use_p = VUSE_OP_PTR (vuses, i);
 
-      if (prepare_operand_for_rename (use_p, &uid)
-         && !TEST_BIT (kills, uid))
+      if (prepare_operand_for_rename (use_p, &uid))
        set_livein_block (*use_p, bb);
     }
 
@@ -264,8 +262,7 @@ mark_def_sites (struct dom_walk_data *walk_data,
        {
          VDEF_RESULT (vdefs, i) = VDEF_OP (vdefs, i);
 
-         if (!TEST_BIT (kills, uid))
-           set_livein_block (VDEF_OP (vdefs, i), bb);
+         set_livein_block (VDEF_OP (vdefs, i), bb);
          set_def_block (VDEF_RESULT (vdefs, i), bb);
        }
     }