diff options
author | Richard Biener <rguenther@suse.de> | 2015-10-13 08:39:41 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-10-13 08:39:41 +0000 |
commit | b939ea86b96fcff3f4fe61ad794858ddae553563 (patch) | |
tree | 729ac9ed62a9b2397629cfbe0dfe7004f66eaabf /gcc/tree-vectorizer.h | |
parent | 9b054b08813d37586d6765fd087b0fc85dc94daf (diff) | |
download | gcc-b939ea86b96fcff3f4fe61ad794858ddae553563.zip gcc-b939ea86b96fcff3f4fe61ad794858ddae553563.tar.gz gcc-b939ea86b96fcff3f4fe61ad794858ddae553563.tar.bz2 |
tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate the data dependence vector.
2015-10-13 Richard Biener <rguenther@suse.de>
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
the data dependence vector.
(vect_peeling_hash_insert): Get the peeling hash table as argument.
(vect_peeling_hash_get_lowest_cost): Likewise.
(vect_enhance_data_refs_alignment): Adjust.
(struct _vect_peel_info, struct _vect_peel_extended_info,
struct peel_info_hasher): Move from ...
* tree-vectorizer.h: ... here.
(LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
(LOOP_VINFO_PEELING_HTAB): Likewise.
(struct _loop_vec_info): Remove min_profitable_iters and
peeling_htab members.
* tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
here.
(destroy_loop_vec_info): Adjust.
(vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
(vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
to estimate alias versioning cost.
* tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
From-SVN: r228751
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 39f9272..ebe38b7 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -194,41 +194,6 @@ struct dr_with_seg_len_pair_t }; -typedef struct _vect_peel_info -{ - int npeel; - struct data_reference *dr; - unsigned int count; -} *vect_peel_info; - -typedef struct _vect_peel_extended_info -{ - struct _vect_peel_info peel_info; - unsigned int inside_cost; - unsigned int outside_cost; - stmt_vector_for_cost body_cost_vec; -} *vect_peel_extended_info; - - -/* Peeling hashtable helpers. */ - -struct peel_info_hasher : free_ptr_hash <_vect_peel_info> -{ - static inline hashval_t hash (const _vect_peel_info *); - static inline bool equal (const _vect_peel_info *, const _vect_peel_info *); -}; - -inline hashval_t -peel_info_hasher::hash (const _vect_peel_info *peel_info) -{ - return (hashval_t) peel_info->npeel; -} - -inline bool -peel_info_hasher::equal (const _vect_peel_info *a, const _vect_peel_info *b) -{ - return (a->npeel == b->npeel); -} /* Vectorizer state common between loop and basic-block vectorization. */ struct vec_info { @@ -289,13 +254,6 @@ typedef struct _loop_vec_info : public vec_info { /* Number of iterations of the original loop. */ tree num_iters_unchanged; - /* Minimum number of iterations below which vectorization is expected to - not be profitable (as estimated by the cost model). - -1 indicates that vectorization will not be profitable. - FORNOW: This field is an int. Will be a tree in the future, to represent - values unknown at compile time. */ - int min_profitable_iters; - /* Threshold of number of iterations below which vectorzation will not be performed. It is calculated from MIN_PROFITABLE_ITERS and PARAM_MIN_VECT_LOOP_BOUND. */ @@ -349,9 +307,6 @@ typedef struct _loop_vec_info : public vec_info { stmt in the chain. */ vec<gimple *> reduction_chains; - /* Hash table used to choose the best peeling option. */ - hash_table<peel_info_hasher> *peeling_htab; - /* Cost vector for a single scalar iteration. */ vec<stmt_info_for_cost> scalar_cost_vec; @@ -407,7 +362,6 @@ typedef struct _loop_vec_info : public vec_info { prologue peeling retain total unchanged scalar loop iterations for cost model. */ #define LOOP_VINFO_NITERS_UNCHANGED(L) (L)->num_iters_unchanged -#define LOOP_VINFO_COST_MODEL_MIN_ITERS(L) (L)->min_profitable_iters #define LOOP_VINFO_COST_MODEL_THRESHOLD(L) (L)->th #define LOOP_VINFO_VECTORIZABLE_P(L) (L)->vectorizable #define LOOP_VINFO_VECT_FACTOR(L) (L)->vectorization_factor @@ -426,7 +380,6 @@ typedef struct _loop_vec_info : public vec_info { #define LOOP_VINFO_SLP_UNROLLING_FACTOR(L) (L)->slp_unrolling_factor #define LOOP_VINFO_REDUCTIONS(L) (L)->reductions #define LOOP_VINFO_REDUCTION_CHAINS(L) (L)->reduction_chains -#define LOOP_VINFO_PEELING_HTAB(L) (L)->peeling_htab #define LOOP_VINFO_TARGET_COST_DATA(L) (L)->target_cost_data #define LOOP_VINFO_PEELING_FOR_GAPS(L) (L)->peeling_for_gaps #define LOOP_VINFO_OPERANDS_SWAPPED(L) (L)->operands_swapped |