diff options
author | Devang Patel <dpatel@apple.com> | 2005-04-11 18:35:54 -0700 |
---|---|---|
committer | Devang Patel <dpatel@gcc.gnu.org> | 2005-04-11 18:35:54 -0700 |
commit | b52485c6316e1ff68572720da538e93e6ad70b83 (patch) | |
tree | f188986dd14899759aa5d472d21666c8b4c61591 /gcc/tree-vectorizer.h | |
parent | 45f27db0d4536c72cb09e6ef15af0d0b3698e4b1 (diff) | |
download | gcc-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.h | 6 |
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 *); |