diff options
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index e572511..1f5e3ef 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -468,15 +468,15 @@ typedef struct _stmt_vec_info { /* Whether the stmt is SLPed, loop-based vectorized, or both. */ enum slp_vect_type slp_type; - /* Interleaving info. */ - /* First data-ref in the interleaving group. */ - gimple first_dr; - /* Pointer to the next data-ref in the group. */ - gimple next_dr; - /* In case that two or more stmts share data-ref, this is the pointer to the - previously detected stmt with the same dr. */ + /* Interleaving and reduction chains info. */ + /* First element in the group. */ + gimple first_element; + /* Pointer to the next element in the group. */ + gimple next_element; + /* For data-refs, in case that two or more stmts share data-ref, this is the + pointer to the previously detected stmt with the same dr. */ gimple same_dr_stmt; - /* The size of the interleaving group. */ + /* The size of the group. */ unsigned int size; /* For stores, number of stores from this group seen. We vectorize the last one. */ @@ -527,22 +527,22 @@ typedef struct _stmt_vec_info { #define STMT_VINFO_RELATED_STMT(S) (S)->related_stmt #define STMT_VINFO_SAME_ALIGN_REFS(S) (S)->same_align_refs #define STMT_VINFO_DEF_TYPE(S) (S)->def_type -#define STMT_VINFO_DR_GROUP_FIRST_DR(S) (S)->first_dr -#define STMT_VINFO_DR_GROUP_NEXT_DR(S) (S)->next_dr -#define STMT_VINFO_DR_GROUP_SIZE(S) (S)->size -#define STMT_VINFO_DR_GROUP_STORE_COUNT(S) (S)->store_count -#define STMT_VINFO_DR_GROUP_GAP(S) (S)->gap -#define STMT_VINFO_DR_GROUP_SAME_DR_STMT(S)(S)->same_dr_stmt -#define STMT_VINFO_DR_GROUP_READ_WRITE_DEPENDENCE(S) (S)->read_write_dep -#define STMT_VINFO_STRIDED_ACCESS(S) ((S)->first_dr != NULL) - -#define DR_GROUP_FIRST_DR(S) (S)->first_dr -#define DR_GROUP_NEXT_DR(S) (S)->next_dr -#define DR_GROUP_SIZE(S) (S)->size -#define DR_GROUP_STORE_COUNT(S) (S)->store_count -#define DR_GROUP_GAP(S) (S)->gap -#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_GROUP_FIRST_ELEMENT(S) (S)->first_element +#define STMT_VINFO_GROUP_NEXT_ELEMENT(S) (S)->next_element +#define STMT_VINFO_GROUP_SIZE(S) (S)->size +#define STMT_VINFO_GROUP_STORE_COUNT(S) (S)->store_count +#define STMT_VINFO_GROUP_GAP(S) (S)->gap +#define STMT_VINFO_GROUP_SAME_DR_STMT(S) (S)->same_dr_stmt +#define STMT_VINFO_GROUP_READ_WRITE_DEPENDENCE(S) (S)->read_write_dep +#define STMT_VINFO_STRIDED_ACCESS(S) ((S)->first_element != NULL && (S)->data_ref_info) + +#define GROUP_FIRST_ELEMENT(S) (S)->first_element +#define GROUP_NEXT_ELEMENT(S) (S)->next_element +#define GROUP_SIZE(S) (S)->size +#define GROUP_STORE_COUNT(S) (S)->store_count +#define GROUP_GAP(S) (S)->gap +#define GROUP_SAME_DR_STMT(S) (S)->same_dr_stmt +#define GROUP_READ_WRITE_DEPENDENCE(S) (S)->read_write_dep #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 |