aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2012-07-17 05:28:31 -0700
committerRichard Henderson <rth@gcc.gnu.org>2012-07-17 05:28:31 -0700
commita86ec59783d1630f46d758b27faf5c5fe061ecfe (patch)
treec97c8c49ab09a7c1e936f238b84d63d40212b0af /gcc
parent24cb156d237c740c4e68ac5399efda6bae00482b (diff)
downloadgcc-a86ec59783d1630f46d758b27faf5c5fe061ecfe.zip
gcc-a86ec59783d1630f46d758b27faf5c5fe061ecfe.tar.gz
gcc-a86ec59783d1630f46d758b27faf5c5fe061ecfe.tar.bz2
Clean up supportable_widening_operation.
* 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. From-SVN: r189574
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/tree-vect-patterns.c11
-rw-r--r--gcc/tree-vect-stmts.c23
-rw-r--r--gcc/tree-vectorizer.h5
4 files changed, 23 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0acf187..3744447 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2012-07-17 Richard Henderson <rth@redhat.com>
+
+ * 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 <ramana.radhakrishnan@linaro.org>
Ulrich Weigand <ulrich.weigand@linaro.org>
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index e8ac42a..595b9b6 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 2f372df..358c2d5 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 6b74bb4..3d23107 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) **);