* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
authorirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 31 May 2009 10:43:38 +0000 (10:43 +0000)
committerirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 31 May 2009 10:43:38 +0000 (10:43 +0000)
mark phis for renaming.
* tree-vectorizer.c (vect_memsyms_to_rename): Remove.
(vectorize_loops): Don't allocate and free vect_memsyms_to_rename.
Call mark_sym_for_renaming.
* tree-vectorizer.h (vect_memsyms_to_rename): Remove.
* tree-vect-loop.c (vect_transform_loop): Remove vect_memsyms_to_rename
initialization and a call to mark_set_for_renaming.

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

gcc/ChangeLog
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c
gcc/tree-vectorizer.c
gcc/tree-vectorizer.h

index ef129f5..400b535 100644 (file)
@@ -1,3 +1,14 @@
+2009-05-31  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
+       mark phis for renaming.
+       * tree-vectorizer.c (vect_memsyms_to_rename): Remove.
+       (vectorize_loops): Don't allocate and free vect_memsyms_to_rename.
+       Call mark_sym_for_renaming.
+       * tree-vectorizer.h (vect_memsyms_to_rename): Remove.
+       * tree-vect-loop.c (vect_transform_loop): Remove vect_memsyms_to_rename
+       initialization and a call to mark_set_for_renaming.
+
 2009-05-31  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/40304
index 3d7f593..41a0033 100644 (file)
@@ -371,7 +371,6 @@ slpeel_update_phi_nodes_for_guard1 (edge guard_edge, struct loop *loop,
   basic_block orig_bb = loop->header;
   edge new_exit_e;
   tree current_new_name;
-  tree name;
   gimple_stmt_iterator gsi_orig, gsi_update;
 
   /* Create new bb between loop and new_merge_bb.  */
@@ -387,15 +386,6 @@ slpeel_update_phi_nodes_for_guard1 (edge guard_edge, struct loop *loop,
       orig_phi = gsi_stmt (gsi_orig);
       update_phi = gsi_stmt (gsi_update);
 
-      /* Virtual phi; Mark it for renaming. We actually want to call
-        mar_sym_for_renaming, but since all ssa renaming datastructures
-        are going to be freed before we get to call ssa_update, we just
-        record this name for now in a bitmap, and will mark it for
-        renaming later.  */
-      name = PHI_RESULT (orig_phi);
-      if (!is_gimple_reg (SSA_NAME_VAR (name)))
-        bitmap_set_bit (vect_memsyms_to_rename, DECL_UID (SSA_NAME_VAR (name)));
-
       /** 1. Handle new-merge-point phis  **/
 
       /* 1.1. Generate new phi node in NEW_MERGE_BB:  */
index 33b0a9d..9756a94 100644 (file)
@@ -3654,10 +3654,6 @@ vect_transform_loop (loop_vec_info loop_vinfo)
                          !do_peeling_for_loop_bound,
                          &cond_expr, &cond_expr_stmt_list);
 
-  /* CHECKME: we wouldn't need this if we called update_ssa once
-     for all loops.  */
-  bitmap_zero (vect_memsyms_to_rename);
-  
   /* If the loop has a symbolic number of iterations 'n' (i.e. it's not a
      compile time constant), or it is a constant that doesn't divide by the
      vectorization factor, then an epilog loop needs to be created.
@@ -3812,8 +3808,6 @@ vect_transform_loop (loop_vec_info loop_vinfo)
 
   slpeel_make_loop_iterate_ntimes (loop, ratio);
 
-  mark_set_for_renaming (vect_memsyms_to_rename);
-
   /* The memory tags and pointers in vectorized statements need to
      have their SSA forms updated.  FIXME, why can't this be delayed
      until all the loops have been transformed?  */
index 4ab8547..2c2103e 100644 (file)
@@ -81,9 +81,6 @@ static enum verbosity_levels user_vect_verbosity_level = MAX_VERBOSITY_LEVEL;
 /* Loop or bb location.  */
 LOC vect_location;
 
-/* Bitmap of virtual variables to be renamed.  */
-bitmap vect_memsyms_to_rename;
-
 /* Vector mapping GIMPLE stmt to stmt_vec_info. */
 VEC(vec_void_p,heap) *stmt_vec_info_vec;
 
@@ -206,10 +203,6 @@ vectorize_loops (void)
   /* Fix the verbosity level if not defined explicitly by the user.  */
   vect_set_dump_settings (false);
 
-  /* Allocate the bitmap that records which virtual variables  
-     need to be renamed.  */
-  vect_memsyms_to_rename = BITMAP_ALLOC (NULL);
-
   init_stmt_vec_info_vec ();
 
   /*  ----------- Analyze loops. -----------  */
@@ -244,7 +237,7 @@ vectorize_loops (void)
 
   /*  ----------- Finalize. -----------  */
 
-  BITMAP_FREE (vect_memsyms_to_rename);
+  mark_sym_for_renaming (gimple_vop (cfun));
 
   for (i = 1; i < vect_loops_num; i++)
     {
index bf29170..0a8e53c 100644 (file)
@@ -728,9 +728,6 @@ known_alignment_for_access_p (struct data_reference *data_ref_info)
 extern FILE *vect_dump;
 extern LOC vect_loop_location;
 
-/* Bitmap of virtual variables to be renamed.  */
-extern bitmap vect_memsyms_to_rename;
-
 /*-----------------------------------------------------------------*/
 /* Function prototypes.                                            */
 /*-----------------------------------------------------------------*/