Inside the vectorizer they are not necessary (stmt update will make
sure they are marked for renaming - sth I'm going to improve with
a follwup).  Also BB vectorization doesn't need to update SSA form
after vectorizing each BB.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Richard.

2012-08-22  Richard Guenther  <rguent...@suse.de>

        * tree-vectorizer.c (vectorize_loops): Do not call
        mark_virtual_operands_for_renaming.
        * tree-vect-slp.c (vect_slp_transform_bb): Likewise.
        Do not update SSA form here.

Index: gcc/tree-vectorizer.c
===================================================================
*** gcc/tree-vectorizer.c       (revision 190590)
--- gcc/tree-vectorizer.c       (working copy)
*************** vectorize_loops (void)
*** 223,230 ****
  
    /*  ----------- Finalize. -----------  */
  
-   mark_virtual_operands_for_renaming (cfun);
- 
    for (i = 1; i < vect_loops_num; i++)
      {
        loop_vec_info loop_vinfo;
--- 223,228 ----
Index: gcc/tree-vect-slp.c
===================================================================
*** gcc/tree-vect-slp.c (revision 190590)
--- gcc/tree-vect-slp.c (working copy)
*************** vect_slp_transform_bb (basic_block bb)
*** 3159,3170 ****
          }
      }
  
-   mark_virtual_operands_for_renaming (cfun);
-   /* 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?  */
-   update_ssa (TODO_update_ssa);
- 
    if (vect_print_dump_info (REPORT_DETAILS))
      fprintf (vect_dump, "BASIC BLOCK VECTORIZED\n");
  
--- 3159,3164 ----

Reply via email to