aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-04-09 10:40:14 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-04-09 10:40:14 +0000
commitb690cc0f331d0f63e2de4f0aa2e3883444cfead2 (patch)
treed8ea3d9ce37b8e002c9ace43434d9d7c2b6fca9c /gcc/tree-vectorizer.h
parentced572837c918c138eee3e901d4b11a9996d7f07 (diff)
downloadgcc-b690cc0f331d0f63e2de4f0aa2e3883444cfead2.zip
gcc-b690cc0f331d0f63e2de4f0aa2e3883444cfead2.tar.gz
gcc-b690cc0f331d0f63e2de4f0aa2e3883444cfead2.tar.bz2
tree-vectorizer.h (struct _stmt_vec_info): Document that vectype is the type of the LHS.
2010-04-09 Richard Guenther <rguenther@suse.de> * tree-vectorizer.h (struct _stmt_vec_info): Document that vectype is the type of the LHS. (supportable_widening_operation, supportable_narrowing_operation): Get both input and output vector types as arguments. (vect_is_simple_use_1): Declare. (get_same_sized_vectype): Likewise. * tree-vect-loop.c (vect_determine_vectorization_factor): Set STMT_VINFO_VECTYPE to the vector type of the def. (vectorizable_reduction): Adjust. * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Adjust. Specify the output vector type. (vect_pattern_recog_1): Adjust. * tree-vect-stmts.c (get_same_sized_vectype): New function. (vectorizable_call): Adjust. (vectorizable_conversion): Likewise. (vectorizable_operation): Likewise. (vectorizable_type_demotion): Likewise. (vectorizable_type_promotion): Likewise. (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of the def. (vect_is_simple_use_1): New function. (supportable_widening_operation): Get both input and output vector types. (supportable_narrowing_operation): Likewise. * tree-vect-slp.c (vect_schedule_slp_instance): Adjust. From-SVN: r158157
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 53a15e1..b46bc52 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -409,7 +409,7 @@ typedef struct _stmt_vec_info {
used outside the loop. */
bool live;
- /* The vector type to be used. */
+ /* The vector type to be used for the LHS of this statement. */
tree vectype;
/* The vectorized version of the stmt. */
@@ -760,15 +760,18 @@ extern bool vect_can_advance_ivs_p (loop_vec_info);
/* In tree-vect-stmts.c. */
extern tree get_vectype_for_scalar_type (tree);
+extern tree get_same_sized_vectype (tree, tree);
extern bool vect_is_simple_use (tree, loop_vec_info, bb_vec_info, gimple *,
tree *, enum vect_def_type *);
-extern bool supportable_widening_operation (enum tree_code, gimple, tree,
+extern bool vect_is_simple_use_1 (tree, 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) **);
-extern bool supportable_narrowing_operation (enum tree_code, const_gimple,
- tree, enum tree_code *, int *,
- VEC (tree, heap) **);
+extern bool supportable_narrowing_operation (enum tree_code, tree, tree,
+ enum tree_code *,
+ int *, VEC (tree, heap) **);
extern stmt_vec_info new_stmt_vec_info (gimple stmt, loop_vec_info,
bb_vec_info);
extern void free_stmt_vec_info (gimple stmt);