diff options
author | Richard Biener <rguenther@suse.de> | 2015-10-14 13:57:09 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-10-14 13:57:09 +0000 |
commit | 81c402418540b5a9476b52ba14b5096f87b0a6e5 (patch) | |
tree | 1b0af7b6089c8538a8c1b2dfaf0b52da3153a586 /gcc/tree-vect-loop.c | |
parent | c3bea07622b9a0ffc7a6724c06a04c9801642dfd (diff) | |
download | gcc-81c402418540b5a9476b52ba14b5096f87b0a6e5.zip gcc-81c402418540b5a9476b52ba14b5096f87b0a6e5.tar.gz gcc-81c402418540b5a9476b52ba14b5096f87b0a6e5.tar.bz2 |
tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
2015-10-14 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
(vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use.
(vect_get_vec_def_for_operand): Remove unused parameter.
* tree-vect-loop.c (get_initial_def_for_induction): Adjust.
(vect_create_epilog_for_reduction): Likewise.
(vectorizable_reduction): Likewise.
(vectorizable_live_operation): Likewise.
* tree-vect-patterns.c (type_conversion_p): Likewise.
(vect_recog_vector_vector_shift_pattern): Likewise.
(check_bool_pattern): Likewise.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
(vect_analyze_slp_cost_1): Likewise.
* tree-vect-stmts.c (process_use): Likewise.
(vect_get_vec_def_for_operand): Do not handle reductions.
(vect_get_vec_defs): Adjust.
(vectorizable_mask_load_store): Likewise.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vect_get_loop_based_defs): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
(vect_is_simple_cond): Likewise.
(vectorizable_condition): Likewise.
(vect_is_simple_use): Remove unused parameters.
(vect_is_simple_use_1): Adjust and rename.
From-SVN: r228811
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index e74fe9a..9285e51 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -3412,7 +3412,7 @@ get_initial_def_for_induction (gimple *iv_phi) /* iv_loop is nested in the loop to be vectorized. init_expr had already been created during vectorization of previous stmts. We obtain it from the STMT_VINFO_VEC_STMT of the defining stmt. */ - vec_init = vect_get_vec_def_for_operand (init_expr, iv_phi, NULL); + vec_init = vect_get_vec_def_for_operand (init_expr, iv_phi); /* If the initial value is not of proper type, convert it. */ if (!useless_type_conversion_p (vectype, TREE_TYPE (vec_init))) { @@ -3798,8 +3798,7 @@ get_initial_def_for_reduction (gimple *stmt, tree init_val, if (adjustment_def) { if (nested_in_vect_loop) - *adjustment_def = vect_get_vec_def_for_operand (init_val, stmt, - NULL); + *adjustment_def = vect_get_vec_def_for_operand (init_val, stmt); else *adjustment_def = init_val; } @@ -3853,7 +3852,7 @@ get_initial_def_for_reduction (gimple *stmt, tree init_val, if (adjustment_def) { *adjustment_def = NULL_TREE; - init_def = vect_get_vec_def_for_operand (init_val, stmt, NULL); + init_def = vect_get_vec_def_for_operand (init_val, stmt); break; } @@ -4012,12 +4011,13 @@ vect_create_epilog_for_reduction (vec<tree> vect_defs, gimple *stmt, NULL, slp_node, reduc_index); else { + /* Get at the scalar def before the loop, that defines the initial value + of the reduction variable. */ + gimple *def_stmt = SSA_NAME_DEF_STMT (reduction_op); + tree op = PHI_ARG_DEF_FROM_EDGE (def_stmt, loop_preheader_edge (loop)); vec_initial_defs.create (1); - /* For the case of reduction, vect_get_vec_def_for_operand returns - the scalar def before the loop, that defines the initial value - of the reduction variable. */ - vec_initial_def = vect_get_vec_def_for_operand (reduction_op, stmt, - &adjustment_def); + vec_initial_def = get_initial_def_for_reduction (stmt, op, + &adjustment_def); vec_initial_defs.quick_push (vec_initial_def); } @@ -4800,7 +4800,6 @@ vectorizable_reduction (gimple *stmt, gimple_stmt_iterator *gsi, int op_type; optab optab, reduc_optab; tree new_temp = NULL_TREE; - tree def; gimple *def_stmt; enum vect_def_type dt; gphi *new_phi = NULL; @@ -4956,8 +4955,8 @@ vectorizable_reduction (gimple *stmt, gimple_stmt_iterator *gsi, if (i == 0 && code == COND_EXPR) continue; - is_simple_use = vect_is_simple_use_1 (ops[i], stmt, loop_vinfo, - &def_stmt, &def, &dt, &tem); + is_simple_use = vect_is_simple_use (ops[i], loop_vinfo, + &def_stmt, &dt, &tem); if (!vectype_in) vectype_in = tem; gcc_assert (is_simple_use); @@ -4977,8 +4976,7 @@ vectorizable_reduction (gimple *stmt, gimple_stmt_iterator *gsi, } } - is_simple_use = vect_is_simple_use_1 (ops[i], stmt, loop_vinfo, - &def_stmt, &def, &dt, &tem); + is_simple_use = vect_is_simple_use (ops[i], loop_vinfo, &def_stmt, &dt, &tem); if (!vectype_in) vectype_in = tem; gcc_assert (is_simple_use); @@ -5340,12 +5338,11 @@ vectorizable_reduction (gimple *stmt, gimple_stmt_iterator *gsi, else { loop_vec_def0 = vect_get_vec_def_for_operand (ops[!reduc_index], - stmt, NULL); + stmt); vec_oprnds0.quick_push (loop_vec_def0); if (op_type == ternary_op) { - loop_vec_def1 = vect_get_vec_def_for_operand (op1, stmt, - NULL); + loop_vec_def1 = vect_get_vec_def_for_operand (op1, stmt); vec_oprnds1.quick_push (loop_vec_def1); } } @@ -5356,17 +5353,15 @@ vectorizable_reduction (gimple *stmt, gimple_stmt_iterator *gsi, { enum vect_def_type dt; gimple *dummy_stmt; - tree dummy; - vect_is_simple_use (ops[!reduc_index], stmt, loop_vinfo, - &dummy_stmt, &dummy, &dt); + vect_is_simple_use (ops[!reduc_index], loop_vinfo, + &dummy_stmt, &dt); loop_vec_def0 = vect_get_vec_def_for_stmt_copy (dt, loop_vec_def0); vec_oprnds0[0] = loop_vec_def0; if (op_type == ternary_op) { - vect_is_simple_use (op1, stmt, loop_vinfo, &dummy_stmt, - &dummy, &dt); + vect_is_simple_use (op1, loop_vinfo, &dummy_stmt, &dt); loop_vec_def1 = vect_get_vec_def_for_stmt_copy (dt, loop_vec_def1); vec_oprnds1[0] = loop_vec_def1; @@ -5595,7 +5590,6 @@ vectorizable_live_operation (gimple *stmt, int i; int op_type; tree op; - tree def; gimple *def_stmt; enum vect_def_type dt; enum tree_code code; @@ -5667,7 +5661,7 @@ vectorizable_live_operation (gimple *stmt, else op = gimple_op (stmt, i + 1); if (op - && !vect_is_simple_use (op, stmt, loop_vinfo, &def_stmt, &def, &dt)) + && !vect_is_simple_use (op, loop_vinfo, &def_stmt, &dt)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, |