diff options
author | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-16 10:35:14 +0000 |
---|---|---|
committer | irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-16 10:35:14 +0000 |
commit | 282bf14ceac90b2eea0a10db3049103526d149d4 (patch) | |
tree | 1b8076fd27c4e11e7eb98f7f94307a62c81cb22b /gcc/tree-vectorizer.h | |
parent | 23bdc9ca4ff5b204fd3a51aaab2c21cf6a544ff4 (diff) | |
download | gcc-282bf14ceac90b2eea0a10db3049103526d149d4.tar.gz |
* tree-vectorizer.c: Fix documentation.
* tree-vectorizer.h (vinfo_for_stmt): Add documentation.
(set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
is_pattern_stmt_p, is_loop_header_bb_p,
stmt_vinfo_set_inside_of_loop_cost,
stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
known_alignment_for_access_p): Likewise.
* tree-vect-loop.c: Fix documentation.
(vect_get_cost): Start function name from new line.
* tree-vect-data-refs.c: Fix documentation.
* tree-vect_stmts.c: Likewise.
(vect_create_vectorized_promotion_stmts): Always free vec_tmp.
(vectorizable_store): Free vec_oprnds if allocated.
(vectorizable_condition): Initialize several variables to avoid
warnings.
* tree-vect-slp.c: Fix documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164332 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 9d6e0acb57a..b438dbc1c1b 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -582,6 +582,8 @@ extern VEC(vec_void_p,heap) *stmt_vec_info_vec; void init_stmt_vec_info_vec (void); void free_stmt_vec_info_vec (void); +/* Return a stmt_vec_info corresponding to STMT. */ + static inline stmt_vec_info vinfo_for_stmt (gimple stmt) { @@ -592,6 +594,8 @@ vinfo_for_stmt (gimple stmt) return (stmt_vec_info) VEC_index (vec_void_p, stmt_vec_info_vec, uid - 1); } +/* Set vectorizer information INFO for STMT. */ + static inline void set_vinfo_for_stmt (gimple stmt, stmt_vec_info info) { @@ -607,6 +611,8 @@ set_vinfo_for_stmt (gimple stmt, stmt_vec_info info) VEC_replace (vec_void_p, stmt_vec_info_vec, uid - 1, (vec_void_p) info); } +/* Return the earlier statement between STMT1 and STMT2. */ + static inline gimple get_earlier_stmt (gimple stmt1, gimple stmt2) { @@ -633,6 +639,8 @@ get_earlier_stmt (gimple stmt1, gimple stmt2) return stmt2; } +/* Return the later statement between STMT1 and STMT2. */ + static inline gimple get_later_stmt (gimple stmt1, gimple stmt2) { @@ -659,6 +667,9 @@ get_later_stmt (gimple stmt1, gimple stmt2) return stmt2; } +/* Return TRUE if a statement represented by STMT_INFO is a part of a + pattern. */ + static inline bool is_pattern_stmt_p (stmt_vec_info stmt_info) { @@ -674,6 +685,8 @@ is_pattern_stmt_p (stmt_vec_info stmt_info) return false; } +/* Return true if BB is a loop header. */ + static inline bool is_loop_header_bb_p (basic_block bb) { @@ -683,6 +696,8 @@ is_loop_header_bb_p (basic_block bb) return false; } +/* Set inside loop vectorization cost. */ + static inline void stmt_vinfo_set_inside_of_loop_cost (stmt_vec_info stmt_info, slp_tree slp_node, int cost) @@ -693,6 +708,8 @@ stmt_vinfo_set_inside_of_loop_cost (stmt_vec_info stmt_info, slp_tree slp_node, STMT_VINFO_INSIDE_OF_LOOP_COST (stmt_info) = cost; } +/* Set inside loop vectorization cost. */ + static inline void stmt_vinfo_set_outside_of_loop_cost (stmt_vec_info stmt_info, slp_tree slp_node, int cost) @@ -703,6 +720,8 @@ stmt_vinfo_set_outside_of_loop_cost (stmt_vec_info stmt_info, slp_tree slp_node, STMT_VINFO_OUTSIDE_OF_LOOP_COST (stmt_info) = cost; } +/* Return pow2 (X). */ + static inline int vect_pow2 (int x) { @@ -723,12 +742,17 @@ vect_pow2 (int x) #define DR_MISALIGNMENT(DR) ((int) (size_t) (DR)->aux) #define SET_DR_MISALIGNMENT(DR, VAL) ((DR)->aux = (void *) (size_t) (VAL)) +/* Return TRUE if the data access is aligned, and FALSE otherwise. */ + static inline bool aligned_access_p (struct data_reference *data_ref_info) { return (DR_MISALIGNMENT (data_ref_info) == 0); } +/* Return TRUE if the alignment of the data access is known, and FALSE + otherwise. */ + static inline bool known_alignment_for_access_p (struct data_reference *data_ref_info) { |