* tree-ssa-alias.c (set_initial_properties, init_alias_info,
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Apr 2006 22:55:28 +0000 (22:55 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Apr 2006 22:55:28 +0000 (22:55 +0000)
delete_alias_info, compute_flow_sensitive_aliasing,
group_aliases): Use VEC instead of VARRAY.
* tree-ssa-structalias.c (update_alias_info): Likewise.
* tree-ssa-structalias.h (alias_info): Change the type of
processed_ptrs to VEC(tree,heap) *.

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

gcc/ChangeLog
gcc/tree-ssa-alias.c
gcc/tree-ssa-structalias.c
gcc/tree-ssa-structalias.h

index da9ac04..747c3b2 100644 (file)
@@ -1,3 +1,12 @@
+2006-04-12  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree-ssa-alias.c (set_initial_properties, init_alias_info,
+       delete_alias_info, compute_flow_sensitive_aliasing,
+       group_aliases): Use VEC instead of VARRAY.
+       * tree-ssa-structalias.c (update_alias_info): Likewise.
+       * tree-ssa-structalias.h (alias_info): Change the type of
+       processed_ptrs to VEC(tree,heap) *.
+
 2006-04-12  J"orn Rennecke <joern.rennecke@st.com>
 
        PR target/27060
index cc652e7..4e8b5a4 100644 (file)
@@ -314,6 +314,7 @@ set_initial_properties (struct alias_info *ai)
   unsigned int i;
   referenced_var_iterator rvi;
   tree var;
+  tree ptr;
 
   FOR_EACH_REFERENCED_VAR (var, rvi)
     {
@@ -334,9 +335,8 @@ set_initial_properties (struct alias_info *ai)
        }
     }
 
-  for (i = 0; i < VARRAY_ACTIVE_SIZE (ai->processed_ptrs); i++)
+  for (i = 0; VEC_iterate (tree, ai->processed_ptrs, i, ptr); i++)
     {
-      tree ptr = VARRAY_TREE (ai->processed_ptrs, i);
       struct ptr_info_def *pi = SSA_NAME_PTR_INFO (ptr);
       var_ann_t v_ann = var_ann (SSA_NAME_VAR (ptr));
       
@@ -859,7 +859,7 @@ init_alias_info (void)
   ai = XCNEW (struct alias_info);
   ai->ssa_names_visited = sbitmap_alloc (num_ssa_names);
   sbitmap_zero (ai->ssa_names_visited);
-  VARRAY_TREE_INIT (ai->processed_ptrs, 50, "processed_ptrs");
+  ai->processed_ptrs = VEC_alloc (tree, heap, 50);
   ai->written_vars = BITMAP_ALLOC (&alias_obstack);
   ai->dereferenced_ptrs_store = BITMAP_ALLOC (&alias_obstack);
   ai->dereferenced_ptrs_load = BITMAP_ALLOC (&alias_obstack);
@@ -943,7 +943,7 @@ delete_alias_info (struct alias_info *ai)
   tree var;
 
   sbitmap_free (ai->ssa_names_visited);
-  ai->processed_ptrs = NULL;
+  VEC_free (tree, heap, ai->processed_ptrs);
 
   for (i = 0; i < ai->num_addressable_vars; i++)
     free (ai->addressable_vars[i]);
@@ -1085,20 +1085,19 @@ static void
 compute_flow_sensitive_aliasing (struct alias_info *ai)
 {
   size_t i;
+  tree ptr;
   
-  for (i = 0; i < VARRAY_ACTIVE_SIZE (ai->processed_ptrs); i++)
+  for (i = 0; VEC_iterate (tree, ai->processed_ptrs, i, ptr); i++)
     {
-      tree ptr = VARRAY_TREE (ai->processed_ptrs, i);
       if (!find_what_p_points_to (ptr))
        set_pt_anything (ptr);
     }
 
   create_name_tags ();
 
-  for (i = 0; i < VARRAY_ACTIVE_SIZE (ai->processed_ptrs); i++)
+  for (i = 0; VEC_iterate (tree, ai->processed_ptrs, i, ptr); i++)
     {
       unsigned j;
-      tree ptr = VARRAY_TREE (ai->processed_ptrs, i);
       struct ptr_info_def *pi = SSA_NAME_PTR_INFO (ptr);
       var_ann_t v_ann = var_ann (SSA_NAME_VAR (ptr));
       bitmap_iterator bi;
@@ -1411,6 +1410,7 @@ static void
 group_aliases (struct alias_info *ai)
 {
   size_t i;
+  tree ptr;
 
   /* Sort the POINTERS array in descending order of contributed
      virtual operands.  */
@@ -1478,10 +1478,9 @@ group_aliases (struct alias_info *ai)
      into p_5->field, but that is wrong because there have been
      modifications to 'SMT.20' in between.  To prevent this we have to
      replace 'a' with 'SMT.20' in the name tag of p_5.  */
-  for (i = 0; i < VARRAY_ACTIVE_SIZE (ai->processed_ptrs); i++)
+  for (i = 0; VEC_iterate (tree, ai->processed_ptrs, i, ptr); i++)
     {
       size_t j;
-      tree ptr = VARRAY_TREE (ai->processed_ptrs, i);
       tree name_tag = SSA_NAME_PTR_INFO (ptr)->name_mem_tag;
       VEC(tree,gc) *aliases;
       tree alias;
index 990398c..7a00de4 100644 (file)
@@ -3041,7 +3041,7 @@ update_alias_info (tree stmt, struct alias_info *ai)
       if (!TEST_BIT (ai->ssa_names_visited, SSA_NAME_VERSION (op)))
        {
          SET_BIT (ai->ssa_names_visited, SSA_NAME_VERSION (op));
-         VARRAY_PUSH_TREE (ai->processed_ptrs, op);
+         VEC_safe_push (tree, heap, ai->processed_ptrs, op);
        }
 
       /* If STMT is a PHI node, then it will not have pointer
index bc129dd..008c015 100644 (file)
@@ -34,7 +34,7 @@ struct alias_info
   sbitmap ssa_names_visited;
 
   /* Array of SSA_NAME pointers processed by the points-to collector.  */
-  varray_type processed_ptrs;
+  VEC(tree,heap) *processed_ptrs;
 
   /* ADDRESSABLE_VARS contains all the global variables and locals that
      have had their address taken.  */