diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0acf1878f25..3744447a340 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2012-07-17 Richard Henderson + + * tree-vect-stmts.c (supportable_widening_operation): Remove decl + parameters. + (vectorizable_conversion): Update supportable_widening_operation call. + * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise. + (vect_recog_widen_shift_pattern): Likewise. + * tree-vectorizer.h: Update decl. + 2012-07-17 Ramana Radhakrishnan Ulrich Weigand diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index e8ac42acad7..595b9b6730d 100644 --- a/gcc/tree-vect-patterns.c +++ b/gcc/tree-vect-patterns.c @@ -599,7 +599,6 @@ vect_recog_widen_mult_pattern (VEC (gimple, heap) **stmts, tree type, half_type0, half_type1; gimple pattern_stmt; tree vectype, vectype_out = NULL_TREE; - tree dummy; tree var; enum tree_code dummy_code; int dummy_int; @@ -692,8 +691,8 @@ vect_recog_widen_mult_pattern (VEC (gimple, heap) **stmts, || !vectype_out || !supportable_widening_operation (WIDEN_MULT_EXPR, last_stmt, vectype_out, vectype, - &dummy, &dummy, &dummy_code, - &dummy_code, &dummy_int, &dummy_vec)) + &dummy_code, &dummy_code, + &dummy_int, &dummy_vec)) return NULL; *type_in = vectype; @@ -1370,7 +1369,6 @@ vect_recog_widen_shift_pattern (VEC (gimple, heap) **stmts, tree type, half_type0; gimple pattern_stmt; tree vectype, vectype_out = NULL_TREE; - tree dummy; tree var; enum tree_code dummy_code; int dummy_int; @@ -1441,9 +1439,8 @@ vect_recog_widen_shift_pattern (VEC (gimple, heap) **stmts, || !vectype_out || !supportable_widening_operation (WIDEN_LSHIFT_EXPR, last_stmt, vectype_out, vectype, - &dummy, &dummy, &dummy_code, - &dummy_code, &dummy_int, - &dummy_vec)) + &dummy_code, &dummy_code, + &dummy_int, &dummy_vec)) return NULL; *type_in = vectype; diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 2f372df46ec..358c2d522a5 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -2410,8 +2410,8 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi, case WIDEN: if (supportable_widening_operation (code, stmt, vectype_out, vectype_in, - &decl1, &decl2, &code1, &code2, - &multi_step_cvt, &interm_types)) + &code1, &code2, &multi_step_cvt, + &interm_types)) { /* Binary widening operation can only be supported directly by the architecture. */ @@ -2443,18 +2443,16 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi, goto unsupported; } else if (!supportable_widening_operation (code, stmt, vectype_out, - cvt_type, &decl1, &decl2, - &codecvt1, &codecvt2, - &multi_step_cvt, + cvt_type, &codecvt1, + &codecvt2, &multi_step_cvt, &interm_types)) continue; else gcc_assert (multi_step_cvt == 0); if (supportable_widening_operation (NOP_EXPR, stmt, cvt_type, - vectype_in, NULL, NULL, &code1, - &code2, &multi_step_cvt, - &interm_types)) + vectype_in, &code1, &code2, + &multi_step_cvt, &interm_types)) break; } @@ -6262,9 +6260,6 @@ vect_is_simple_use_1 (tree operand, gimple stmt, loop_vec_info loop_vinfo, Output: - CODE1 and CODE2 are codes of vector operations to be used when vectorizing the operation, if available. - - DECL1 and DECL2 are decls of target builtin functions to be used - when vectorizing the operation, if available. In this case, - CODE1 and CODE2 are CALL_EXPR. - MULTI_STEP_CVT determines the number of required intermediate steps in case of multi-step conversion (like char->short->int - in that case MULTI_STEP_CVT will be 1). @@ -6274,8 +6269,6 @@ vect_is_simple_use_1 (tree operand, gimple stmt, loop_vec_info loop_vinfo, bool supportable_widening_operation (enum tree_code code, gimple stmt, tree vectype_out, tree vectype_in, - tree *decl1 ATTRIBUTE_UNUSED, - tree *decl2 ATTRIBUTE_UNUSED, enum tree_code *code1, enum tree_code *code2, int *multi_step_cvt, VEC (tree, heap) **interm_types) @@ -6339,8 +6332,8 @@ supportable_widening_operation (enum tree_code code, gimple stmt, && !nested_in_vect_loop_p (vect_loop, stmt) && supportable_widening_operation (VEC_WIDEN_MULT_EVEN_EXPR, stmt, vectype_out, vectype_in, - NULL, NULL, code1, code2, - multi_step_cvt, interm_types)) + code1, code2, multi_step_cvt, + interm_types)) return true; c1 = VEC_WIDEN_MULT_LO_EXPR; c2 = VEC_WIDEN_MULT_HI_EXPR; diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 6b74bb41188..3d2310711ab 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -895,9 +895,8 @@ extern bool vect_is_simple_use_1 (tree, gimple, loop_vec_info, bb_vec_info, gimple *, tree *, enum vect_def_type *, tree *); extern bool supportable_widening_operation (enum tree_code, gimple, tree, tree, - tree *, tree *, enum tree_code *, - enum tree_code *, int *, - VEC (tree, heap) **); + enum tree_code *, enum tree_code *, + int *, VEC (tree, heap) **); extern bool supportable_narrowing_operation (enum tree_code, tree, tree, enum tree_code *, int *, VEC (tree, heap) **);