This removes dead code from the vectorizer and makes a function static.
Bootstrapped / tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-09-18 Richard Biener <rguent...@suse.de> * tree-vectorizer.h (get_initial_def_for_reduction): Remove. * tree-vect-loop.c (get_initial_def_for_reduction): Make static. (vect_create_epilog_for_reduction): Remove dead code. Index: gcc/tree-vect-loop.c =================================================================== --- gcc/tree-vect-loop.c (revision 275873) +++ gcc/tree-vect-loop.c (working copy) @@ -4203,7 +4203,7 @@ vect_model_induction_cost (stmt_vec_info A cost model should help decide between these two schemes. */ -tree +static tree get_initial_def_for_reduction (stmt_vec_info stmt_vinfo, tree init_val, tree *adjustment_def) { @@ -4585,7 +4585,6 @@ vect_create_epilog_for_reduction (vec<tr (in case of SLP, do it for all the phis). */ /* Get the loop-entry arguments. */ - enum vect_def_type initial_def_dt = vect_unknown_def_type; if (slp_node) { unsigned vec_num = SLP_TREE_NUMBER_OF_VEC_STMTS (slp_node); @@ -4623,7 +4622,6 @@ vect_create_epilog_for_reduction (vec<tr { /* Do not use an adjustment def as that case is not supported correctly if ncopies is not one. */ - vect_is_simple_use (initial_def, loop_vinfo, &initial_def_dt); vec_initial_def = vect_get_vec_def_for_operand (initial_def, stmt_info); } Index: gcc/tree-vectorizer.h =================================================================== --- gcc/tree-vectorizer.h (revision 275873) +++ gcc/tree-vectorizer.h (working copy) @@ -1645,7 +1645,6 @@ extern bool vectorizable_reduction (stmt extern bool vectorizable_induction (stmt_vec_info, gimple_stmt_iterator *, stmt_vec_info *, slp_tree, stmt_vector_for_cost *); -extern tree get_initial_def_for_reduction (stmt_vec_info, tree, tree *); extern bool vect_worthwhile_without_simd_p (vec_info *, tree_code); extern int vect_get_known_peeling_cost (loop_vec_info, int, int *, stmt_vector_for_cost *,