aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2005-04-11 18:35:54 -0700
committerDevang Patel <dpatel@gcc.gnu.org>2005-04-11 18:35:54 -0700
commitb52485c6316e1ff68572720da538e93e6ad70b83 (patch)
treef188986dd14899759aa5d472d21666c8b4c61591 /gcc/tree-vectorizer.h
parent45f27db0d4536c72cb09e6ef15af0d0b3698e4b1 (diff)
downloadgcc-b52485c6316e1ff68572720da538e93e6ad70b83.zip
gcc-b52485c6316e1ff68572720da538e93e6ad70b83.tar.gz
gcc-b52485c6316e1ff68572720da538e93e6ad70b83.tar.bz2
tree-data-ref.c (build_classic_dist_vector, [...]): Make externally visible.
* tree-data-ref.c (build_classic_dist_vector, compute_subscript_distance): Make externally visible. * tree-data-ref.h (build_classic_dist_vector, compute_subscript_distance): Same. * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Check distance vector against vectorization factor. (vect_analyze_loop): Determine vectorizaion factor before analyzing data dependences. * tree-vectorizer.c (loops_num): Make it externally visible and rename ... * tree-vectorizer.c (vect_loops_num): ... new name. * tree-vectorizer.h (vect_loops_num): New. * tree-vect-analyze.c (vect_analyze_operations): Check vectorizable codition. * tree-vect-transform.c (vect_is_simple_cond): New function. (vectorizable_condition): New function. (vect_transform_stmt): Handle condition_vec_info_type. * tree-vectorizer.h (enum stmt_vec_info_type): Add condition_vec_info_type. (vectorizable_condition): New. * lib/target-supports.exp (check_effective_target_vect_condition): New. * gcc.dg/vect/vect-ifcvt-1.c: New test. * gcc.dg/vect/vect-ifcvt-2.c: New test. * gcc.dg/vect/vect-ifcvt-3.c: New test. * gcc.dg/vect/vect-ifcvt-4.c: New test. * gcc.dg/vect/vect-ifcvt-5.c: New test. * gcc.dg/vect/vect-ifcvt-6.c: New test. * gcc.dg/vect/vect-ifcvt-7.c: New test. * gcc.dg/vect/vect-none.c: Now one loop is vectorized. * gcc.dg/vect/vect-dv-1.c: New test. * gcc.dg/vect/vect-dv-2.c: New test. From-SVN: r97999
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index a38edd0..3620b2b 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -144,7 +144,8 @@ enum stmt_vec_info_type {
load_vec_info_type,
store_vec_info_type,
op_vec_info_type,
- assignment_vec_info_type
+ assignment_vec_info_type,
+ condition_vec_info_type
};
typedef struct _stmt_vec_info {
@@ -277,6 +278,8 @@ known_alignment_for_access_p (struct data_reference *data_ref_info)
extern FILE *vect_dump;
extern enum verbosity_levels vect_verbosity_level;
+/* Number of loops, at the beginning of vectorization. */
+extern unsigned int vect_loops_num;
/*-----------------------------------------------------------------*/
/* Function prototypes. */
/*-----------------------------------------------------------------*/
@@ -327,6 +330,7 @@ extern bool vectorizable_load (tree, block_stmt_iterator *, tree *);
extern bool vectorizable_store (tree, block_stmt_iterator *, tree *);
extern bool vectorizable_operation (tree, block_stmt_iterator *, tree *);
extern bool vectorizable_assignment (tree, block_stmt_iterator *, tree *);
+extern bool vectorizable_condition (tree, block_stmt_iterator *, tree *);
/* Driver for transformation stage. */
extern void vect_transform_loop (loop_vec_info, struct loops *);