]> gcc.gnu.org Git - gcc.git/commitdiff
tree-ssa-live.c (build_tree_conflict_graph): Change the type of tpa_to_clear to VEC...
authorKazu Hirata <kazu@cs.umass.edu>
Sun, 24 Apr 2005 19:51:35 +0000 (19:51 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sun, 24 Apr 2005 19:51:35 +0000 (19:51 +0000)
* tree-ssa-live.c (build_tree_conflict_graph): Change the type
of tpa_to_clear to VEC(int,heap).  Update uses of
tpa_to_clear.  Free tpa_to_clear at the end.

From-SVN: r98668

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

index 388f5bf3ea92ce68c6207ac0c65b50c7a5d2d9ce..2b72034591bed3fc8b820d58998374b3614d6139 100644 (file)
        build_assert_expr_for, fp_predicate, has_assert_expr): Use
        COMPARISON_CLASS_P.
 
+       * tree-ssa-live.c (build_tree_conflict_graph): Change the type
+       of tpa_to_clear to VEC(int,heap).  Update uses of
+       tpa_to_clear.  Free tpa_to_clear at the end.
+
 2005-04-24  Andrew Pinski  <pinskia@physics.uc.edu>
 
        * tree.h (TREE_THIS_VOLATILE): Document the effect on a
index 6f9d77ea6458ca3005d2426f6bb7f322c896915f..73c46a2cc6e59bcf4d049bc69d666daf9b3c7654 100644 (file)
@@ -1279,6 +1279,8 @@ add_conflicts_if_valid (tpa_p tpa, conflict_graph graph,
     }
 }
 
+DEF_VEC_P(int);
+DEF_VEC_ALLOC_P(int,heap);
 
 /* Return a conflict graph for the information contained in LIVE_INFO.  Only
    conflicts between items in the same TPA list are added.  If optional 
@@ -1293,8 +1295,8 @@ build_tree_conflict_graph (tree_live_info_p liveinfo, tpa_p tpa,
   bitmap live;
   unsigned x, y, i;
   basic_block bb;
-  varray_type tpa_to_clear;
   int *partition_link, *tpa_nodes;
+  VEC(int,heap) *tpa_to_clear;
   unsigned l;
   ssa_op_iter iter;
   bitmap_iterator bi;
@@ -1309,12 +1311,13 @@ build_tree_conflict_graph (tree_live_info_p liveinfo, tpa_p tpa,
 
   partition_link = xcalloc (num_var_partitions (map) + 1, sizeof (int));
   tpa_nodes = xcalloc (tpa_num_trees (tpa), sizeof (int));
-  VARRAY_INT_INIT (tpa_to_clear, 50, "tpa to clear");
+  tpa_to_clear = VEC_alloc (int, heap, 50);
 
   FOR_EACH_BB (bb)
     {
       block_stmt_iterator bsi;
       tree phi;
+      int idx;
 
       /* Start with live on exit temporaries.  */
       bitmap_copy (live, live_on_exit (liveinfo, bb));
@@ -1419,7 +1422,7 @@ build_tree_conflict_graph (tree_live_info_p liveinfo, tpa_p tpa,
              /* If start is 0, a new root reference list is being started.
                 Register it to be cleared.  */
              if (!start)
-               VARRAY_PUSH_INT (tpa_to_clear, i);
+               VEC_safe_push (int, heap, tpa_to_clear, i);
 
              /* Add interferences to other tpa members seen.  */
              for (y = start; y != 0; y = partition_link[y])
@@ -1430,13 +1433,14 @@ build_tree_conflict_graph (tree_live_info_p liveinfo, tpa_p tpa,
        }
 
        /* Now clear the used tpa root references.  */
-       for (l = 0; l < VARRAY_ACTIVE_SIZE (tpa_to_clear); l++)
-         tpa_nodes[VARRAY_INT (tpa_to_clear, l)] = 0;
-       VARRAY_POP_ALL (tpa_to_clear);
+       for (l = 0; VEC_iterate (int, tpa_to_clear, l, idx); l++)
+         tpa_nodes[idx] = 0;
+       VEC_truncate (int, tpa_to_clear, 0);
     }
 
   free (tpa_nodes);
   free (partition_link);
+  VEC_free (int, heap, tpa_to_clear);
   BITMAP_FREE (live);
   return graph;
 }
This page took 0.075416 seconds and 5 git commands to generate.