This removes the calls to mark_symbols_for_renaming (or replaces them with their side-effect of doing a forced update_stmt) in most remaining places.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2012-05-14 Richard Guenther <rguent...@suse.de> * tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming. (vect_permute_load_chain): Likewise. * tree-vect-loop.c (vect_is_slp_reduction): Update stmt instead of calling mark_symbols_for_renaming. * tree-vect-stmts.c (read_vector_array): Remove call to mark_symbols_for_renaming. (write_vector_array): Likewise. (vectorizable_call): Likewise. (vectorizable_store): Likewise. (vectorizable_load): Likewise. * matrix-reorg.c (transform_allocation_sites): Likewise. * tree-ssa-pre.c (create_expression_by_pieces): Likewise. (create_expression_by_pieces): Likewise. Index: gcc/tree-vect-data-refs.c =================================================================== *** gcc/tree-vect-data-refs.c (revision 187402) --- gcc/tree-vect-data-refs.c (working copy) *************** vect_setup_realignment (gimple stmt, gim *** 4268,4274 **** new_stmt = gimple_build_assign (vec_dest, data_ref); new_temp = make_ssa_name (vec_dest, new_stmt); gimple_assign_set_lhs (new_stmt, new_temp); - mark_symbols_for_renaming (new_stmt); if (pe) { new_bb = gsi_insert_on_edge_immediate (pe, new_stmt); --- 4268,4273 ---- *************** vect_permute_load_chain (VEC(tree,heap) *** 4526,4532 **** data_ref = make_ssa_name (perm_dest, perm_stmt); gimple_assign_set_lhs (perm_stmt, data_ref); vect_finish_stmt_generation (stmt, perm_stmt, gsi); - mark_symbols_for_renaming (perm_stmt); VEC_replace (tree, *result_chain, j/2, data_ref); --- 4525,4530 ---- *************** vect_permute_load_chain (VEC(tree,heap) *** 4542,4548 **** data_ref = make_ssa_name (perm_dest, perm_stmt); gimple_assign_set_lhs (perm_stmt, data_ref); vect_finish_stmt_generation (stmt, perm_stmt, gsi); - mark_symbols_for_renaming (perm_stmt); VEC_replace (tree, *result_chain, j/2+length/2, data_ref); } --- 4540,4545 ---- Index: gcc/tree-vect-loop.c =================================================================== *** gcc/tree-vect-loop.c (revision 187401) --- gcc/tree-vect-loop.c (working copy) *************** vect_is_slp_reduction (loop_vec_info loo *** 1929,1935 **** swap_tree_operands (next_stmt, gimple_assign_rhs1_ptr (next_stmt), gimple_assign_rhs2_ptr (next_stmt)); ! mark_symbols_for_renaming (next_stmt); } else return false; --- 1929,1935 ---- swap_tree_operands (next_stmt, gimple_assign_rhs1_ptr (next_stmt), gimple_assign_rhs2_ptr (next_stmt)); ! update_stmt (next_stmt); } else return false; Index: gcc/tree-vect-stmts.c =================================================================== *** gcc/tree-vect-stmts.c (revision 187402) --- gcc/tree-vect-stmts.c (working copy) *************** read_vector_array (gimple stmt, gimple_s *** 74,80 **** vect_name = make_ssa_name (vect, new_stmt); gimple_assign_set_lhs (new_stmt, vect_name); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); return vect_name; } --- 74,79 ---- *************** write_vector_array (gimple stmt, gimple_ *** 96,102 **** new_stmt = gimple_build_assign (array_ref, vect); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); } /* PTR is a pointer to an array of type TYPE. Return a representation --- 95,100 ---- *************** vectorizable_call (gimple stmt, gimple_s *** 1786,1792 **** new_temp = make_ssa_name (vec_dest, new_stmt); gimple_call_set_lhs (new_stmt, new_temp); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); VEC_quick_push (gimple, SLP_TREE_VEC_STMTS (slp_node), new_stmt); } --- 1784,1789 ---- *************** vectorizable_call (gimple stmt, gimple_s *** 1821,1829 **** new_stmt = gimple_build_call_vec (fndecl, vargs); new_temp = make_ssa_name (vec_dest, new_stmt); gimple_call_set_lhs (new_stmt, new_temp); - vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); if (j == 0) STMT_VINFO_VEC_STMT (stmt_info) = *vec_stmt = new_stmt; --- 1818,1824 ---- *************** vectorizable_call (gimple stmt, gimple_s *** 1876,1882 **** new_temp = make_ssa_name (vec_dest, new_stmt); gimple_call_set_lhs (new_stmt, new_temp); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); VEC_quick_push (gimple, SLP_TREE_VEC_STMTS (slp_node), new_stmt); } --- 1871,1876 ---- *************** vectorizable_call (gimple stmt, gimple_s *** 1918,1926 **** new_stmt = gimple_build_call_vec (fndecl, vargs); new_temp = make_ssa_name (vec_dest, new_stmt); gimple_call_set_lhs (new_stmt, new_temp); - vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); if (j == 0) STMT_VINFO_VEC_STMT (stmt_info) = new_stmt; --- 1912,1918 ---- *************** vectorizable_store (gimple stmt, gimple_ *** 4010,4016 **** new_stmt = gimple_build_call_internal (IFN_STORE_LANES, 1, vec_array); gimple_call_set_lhs (new_stmt, data_ref); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); } else { --- 4002,4007 ---- *************** vectorizable_store (gimple stmt, gimple_ *** 4067,4073 **** /* Arguments are ready. Create the new vector stmt. */ new_stmt = gimple_build_assign (data_ref, vec_oprnd); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); if (slp) continue; --- 4058,4063 ---- *************** vectorizable_load (gimple stmt, gimple_s *** 4620,4626 **** vec_inv = build_constructor (vectype, v); new_temp = vect_init_vector (stmt, vec_inv, vectype, gsi); new_stmt = SSA_NAME_DEF_STMT (new_temp); - mark_symbols_for_renaming (new_stmt); if (j == 0) STMT_VINFO_VEC_STMT (stmt_info) = *vec_stmt = new_stmt; --- 4610,4615 ---- *************** vectorizable_load (gimple stmt, gimple_s *** 4836,4842 **** new_stmt = gimple_build_call_internal (IFN_LOAD_LANES, 1, data_ref); gimple_call_set_lhs (new_stmt, vec_array); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); /* Extract each vector into an SSA_NAME. */ for (i = 0; i < vec_num; i++) --- 4825,4830 ---- *************** vectorizable_load (gimple stmt, gimple_s *** 4969,4975 **** new_temp = make_ssa_name (vec_dest, new_stmt); gimple_assign_set_lhs (new_stmt, new_temp); vect_finish_stmt_generation (stmt, new_stmt, gsi); - mark_symbols_for_renaming (new_stmt); /* 3. Handle explicit realignment if necessary/supported. Create in loop: --- 4957,4962 ---- Index: gcc/matrix-reorg.c =================================================================== *** gcc/matrix-reorg.c (revision 187401) --- gcc/matrix-reorg.c (working copy) *************** transform_allocation_sites (void **slot, *** 2159,2165 **** true, GSI_SAME_STMT); /* GLOBAL_HOLDING_THE_SIZE = DIM_SIZE. */ stmt = gimple_build_assign (dim_var, dim_size); - mark_symbols_for_renaming (stmt); gsi_insert_before (&gsi, stmt, GSI_SAME_STMT); prev_dim_size = mi->dimension_size[i] = dim_var; --- 2159,2164 ---- Index: gcc/tree-ssa-pre.c =================================================================== *** gcc/tree-ssa-pre.c (revision 187401) --- gcc/tree-ssa-pre.c (working copy) *************** create_expression_by_pieces (basic_block *** 3130,3136 **** bitmap_value_replace_in_set (NEW_SETS (block), nameexpr); bitmap_value_replace_in_set (AVAIL_OUT (block), nameexpr); } - mark_symbols_for_renaming (stmt); } gimple_seq_add_seq (stmts, forced_stmts); } --- 3130,3135 ---- *************** create_expression_by_pieces (basic_block *** 3151,3159 **** gimple_seq_add_stmt (stmts, newstmt); bitmap_set_bit (inserted_exprs, SSA_NAME_VERSION (name)); - /* All the symbols in NEWEXPR should be put into SSA form. */ - mark_symbols_for_renaming (newstmt); - /* Fold the last statement. */ gsi = gsi_last (*stmts); if (fold_stmt_inplace (&gsi)) --- 3150,3155 ----