diff options
author | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-28 08:08:25 +0000 |
---|---|---|
committer | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-28 08:08:25 +0000 |
commit | f083cd2485540fc2f28a9a8b9ecd32afa5296669 (patch) | |
tree | 3bdf6e3f659927c90efbcc5b6f34fb955ee5595b /gcc/tree-vectorizer.h | |
parent | f1689c2844099c2e1eddd401717294eb13da6ac6 (diff) | |
download | gcc-f083cd2485540fc2f28a9a8b9ecd32afa5296669.tar.gz |
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
Use REPORT_VECTORIZED_LOCATIONS instead
REPORT_VECTORIZED_LOOPS.
* tree-vectorizer.c (vect_verbosity_level): Make static.
(vect_loop_location): Rename to vect_location.
(vect_set_verbosity_level): Update comment.
(vect_set_dump_settings): Use REPORT_VECTORIZED_LOCATIONS
and vect_location.
(vectorize_loops): Fix comment. Use REPORT_VECTORIZED_LOCATIONS
and vect_location. Use REPORT_UNVECTORIZED_LOCATIONS
instead REPORT_UNVECTORIZED_LOOPS.
* tree-vectorizer.h (enum vect_def_type): Rename vect_invariant_def and
vect_loop_def to vect_external_def and vect_internal_def.
(enum verbosity_levels): Rename REPORT_VECTORIZED_LOOPS
and REPORT_UNVECTORIZED_LOOPS to
REPORT_VECTORIZED_LOCATIONS and
REPORT_UNVECTORIZED_LOCATIONS.
(enum vect_relevant): Update comment. Rename vect_unused_in_loop
and vect_used_in_loop and to vect_unused_in_scope and
vect_used_in_scope.
(STMT_VINFO_RELEVANT_P): Use vect_unused_in_scope.
(vect_verbosity_level): Remove declaration.
(vect_analyze_operations): Likewise.
(vect_analyze_stmt): Declare.
* tree-vect-loop.c (vect_determine_vectorization_factor): Use
REPORT_UNVECTORIZED_LOCATIONS.
(vect_get_loop_niters): Fix indentation.
(vect_analyze_loop_form): Use REPORT_UNVECTORIZED_LOCATIONS.
(vect_analyze_loop_operations): New function.
(vect_analyze_loop): Call vect_analyze_loop_operations instead of
vect_analyze_operations.
(vect_is_simple_reduction): Use new names.
(vectorizable_live_operation, vect_transform_loop): Likewise.
* tree-vect-data-refs.c (vect_check_interleaving): Add a return value to
specify whether the data references can be a part of interleaving chain.
(vect_analyze_data_ref_dependence): Use new names.
(vect_analyze_data_refs_alignment, vect_analyze_data_refs): Likewise.
(vect_create_addr_base_for_vector_ref): Remove redundant code.
* tree-vect-patterns.c (widened_name_p): Use new names.
(vect_recog_dot_prod_pattern): Likewise.
* tree-vect-stmts.c (vect_stmt_relevant_p): Use new names.
(process_use, vect_mark_stmts_to_be_vectorized,
vect_model_simple_cost, vect_model_store_cost,
vect_get_vec_def_for_operand, vect_get_vec_def_for_stmt_copy,
vectorizable_call, vectorizable_conversion, vectorizable_assignment,
vectorizable_operation, vectorizable_type_demotion,
vectorizable_type_promotion, vectorizable_store, vectorizable_load,
vectorizable_condition): Likewise.
(vect_analyze_operations): Split into vect_analyze_loop_operations
and ...
(vect_analyze_stmt): ... new function.
(new_stmt_vec_info): Use new names.
(vect_is_simple_use): Use new names and fix comment.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Use new names.
(vect_build_slp_tree, vect_analyze_slp, vect_schedule_slp): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146875 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 4ad9b3875fa..2422f4416e1 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -56,9 +56,9 @@ enum dr_alignment_support { /* Define type of def-use cross-iteration cycle. */ enum vect_def_type { vect_uninitialized_def = 0, - vect_constant_def, - vect_invariant_def, - vect_loop_def, + vect_constant_def = 1, + vect_external_def, + vect_internal_def, vect_induction_def, vect_reduction_def, vect_unknown_def_type @@ -67,8 +67,8 @@ enum vect_def_type { /* Define verbosity levels. */ enum verbosity_levels { REPORT_NONE, - REPORT_VECTORIZED_LOOPS, - REPORT_UNVECTORIZED_LOOPS, + REPORT_VECTORIZED_LOCATIONS, + REPORT_UNVECTORIZED_LOCATIONS, REPORT_COST, REPORT_ALIGNMENT, REPORT_DR_DETAILS, @@ -300,9 +300,10 @@ enum stmt_vec_info_type { loop_exit_ctrl_vec_info_type }; -/* Indicates whether/how a variable is used in the loop. */ +/* Indicates whether/how a variable is used in the scope of loop/basic + block. */ enum vect_relevant { - vect_unused_in_loop = 0, + vect_unused_in_scope = 0, vect_used_in_outer_by_reduction, vect_used_in_outer, @@ -314,7 +315,7 @@ enum vect_relevant { computed. */ vect_used_by_reduction, - vect_used_in_loop + vect_used_in_scope }; /* The type of vectorization that can be applied to the stmt: regular loop-based @@ -475,7 +476,7 @@ typedef struct _stmt_vec_info { #define DR_GROUP_SAME_DR_STMT(S) (S)->same_dr_stmt #define DR_GROUP_READ_WRITE_DEPENDENCE(S) (S)->read_write_dep -#define STMT_VINFO_RELEVANT_P(S) ((S)->relevant != vect_unused_in_loop) +#define STMT_VINFO_RELEVANT_P(S) ((S)->relevant != vect_unused_in_scope) #define STMT_VINFO_OUTSIDE_OF_LOOP_COST(S) (S)->cost.outside_of_loop #define STMT_VINFO_INSIDE_OF_LOOP_COST(S) (S)->cost.inside_of_loop @@ -693,12 +694,9 @@ known_alignment_for_access_p (struct data_reference *data_ref_info) extern FILE *vect_dump; extern LOC vect_loop_location; -extern enum verbosity_levels vect_verbosity_level; - /* Bitmap of virtual variables to be renamed. */ extern bitmap vect_memsyms_to_rename; - /*-----------------------------------------------------------------*/ /* Function prototypes. */ /*-----------------------------------------------------------------*/ @@ -744,7 +742,7 @@ extern tree vect_get_vec_def_for_stmt_copy (enum vect_def_type, tree); extern bool vect_transform_stmt (gimple, gimple_stmt_iterator *, bool *, slp_tree, slp_instance); extern void vect_remove_stores (gimple); -extern bool vect_analyze_operations (loop_vec_info); +extern bool vect_analyze_stmt (gimple, bool *); /* In tree-vect-data-refs.c. */ extern bool vect_can_force_dr_alignment_p (const_tree, unsigned int); |