diff options
author | Dorit Nuzman <dorit@il.ibm.com> | 2005-06-10 14:52:01 +0000 |
---|---|---|
committer | Dorit Nuzman <dorit@gcc.gnu.org> | 2005-06-10 14:52:01 +0000 |
commit | bb7483290049647685d17557117e4285530266f3 (patch) | |
tree | 57c8ef6636055daf9e83a4e162b8bca978e69d33 /gcc/tree-vectorizer.h | |
parent | cdd5a1bebee6ddca1324d85535f6a1f82ba9cede (diff) | |
download | gcc-bb7483290049647685d17557117e4285530266f3.zip gcc-bb7483290049647685d17557117e4285530266f3.tar.gz gcc-bb7483290049647685d17557117e4285530266f3.tar.bz2 |
tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose dependence-distance modulo VF is 0 are recorded in the...
* tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose
dependence-distance modulo VF is 0 are recorded in the
SAME_ALIGN_REFs VEC in each DR.
(vect_enhance_data_refs_alignment): Avoid 80 column overflow. The
alignment information of DRs that are in the SAME_ALIGN_REFs VEC of the
DR we want to peel for, is set to 0.
* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Fix printout.
* tree-vectorizer.c (destroy_loop_vec_info): Free the SAME_ALIGN_REFs
VEC.
* tree-vectorizer.h (dr_p): New type. Defined to use the VEC API.
(_stmt_vec_info): Added new field same_align_refs.
(STMT_VINFO_SAME_ALIGN_REFS): New macro.
From-SVN: r100817
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 739da71..7892e0a 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -158,6 +158,10 @@ enum stmt_vec_info_type { condition_vec_info_type }; +typedef struct data_reference *dr_p; +DEF_VEC_P(dr_p); +DEF_VEC_ALLOC_P(dr_p,heap); + typedef struct _stmt_vec_info { enum stmt_vec_info_type type; @@ -230,6 +234,10 @@ typedef struct _stmt_vec_info { in bytes. */ tree misalignment; + /* List of datarefs that are known to have the same alignment as the dataref + of this stmt. */ + VEC(dr_p,heap) *same_align_refs; + /* Classify the def of this stmt. */ enum vect_def_type def_type; @@ -252,6 +260,7 @@ typedef struct _stmt_vec_info { #define STMT_VINFO_VECT_STEP(S) (S)->step #define STMT_VINFO_VECT_BASE_ALIGNED_P(S) (S)->base_aligned_p #define STMT_VINFO_VECT_MISALIGNMENT(S) (S)->misalignment +#define STMT_VINFO_SAME_ALIGN_REFS(S) (S)->same_align_refs #define STMT_VINFO_DEF_TYPE(S) (S)->def_type static inline void set_stmt_info (tree_ann_t ann, stmt_vec_info stmt_info); |