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 ----