diff options
author | Richard Biener <rguenther@suse.de> | 2015-05-28 07:15:57 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-05-28 07:15:57 +0000 |
commit | 1a4b99c172b8a5485d84e24db16ccbd847a4b1b7 (patch) | |
tree | b9a3b761a0bd416561dd650f412b812fb82bf201 /gcc/tree-vectorizer.h | |
parent | 428b381275bc95032274440f02d7719225de2c17 (diff) | |
download | gcc-1a4b99c172b8a5485d84e24db16ccbd847a4b1b7.zip gcc-1a4b99c172b8a5485d84e24db16ccbd847a4b1b7.tar.gz gcc-1a4b99c172b8a5485d84e24db16ccbd847a4b1b7.tar.bz2 |
tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec member.
2015-05-28 Richard Biener <rguenther@suse.de>
* tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
member.
(SLP_INSTANCE_BODY_COST_VEC): Remove.
(vect_update_slp_costs_according_to_vf): Likewise.
(vect_slp_analyze_operations): Update prototype.
* tree-vect-loop.c (vect_analyze_loop_2): Remove call to
vect_update_slp_costs_according_to_vf, adjust.
* tree-vect-slp.c (vect_free_slp_instance): Adjust.
(vect_analyze_slp_cost_1): Likewise.
(vect_analyze_slp_cost): Likewise. Properly deal with
widening reduction ops. Commit body costs.
(vect_analyze_slp_instance): Adjust. Do not analyze SLP
cost for loops from here.
(vect_slp_analyze_operations): But do it from here when
the vectorization factor is known and stmts are analyzed.
(vect_bb_vectorization_profitable_p): Simplify.
(vect_slp_analyze_bb_1): Do not compute SLP cost here.
(vect_update_slp_costs_according_to_vf): Remove.
From-SVN: r223798
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index ae795a9..9976096 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -128,9 +128,6 @@ typedef struct _slp_instance { /* The unrolling factor required to vectorized this SLP instance. */ unsigned int unrolling_factor; - /* Vectorization costs associated with SLP instance. */ - stmt_vector_for_cost body_cost_vec; - /* The group of nodes that contain loads of this SLP instance. */ vec<slp_tree> loads; } *slp_instance; @@ -140,7 +137,6 @@ typedef struct _slp_instance { #define SLP_INSTANCE_TREE(S) (S)->root #define SLP_INSTANCE_GROUP_SIZE(S) (S)->group_size #define SLP_INSTANCE_UNROLLING_FACTOR(S) (S)->unrolling_factor -#define SLP_INSTANCE_BODY_COST_VEC(S) (S)->body_cost_vec #define SLP_INSTANCE_LOADS(S) (S)->loads #define SLP_TREE_CHILDREN(S) (S)->children @@ -1114,9 +1110,9 @@ extern void vect_free_slp_instance (slp_instance); extern bool vect_transform_slp_perm_load (slp_tree, vec<tree> , gimple_stmt_iterator *, int, slp_instance, bool); -extern bool vect_slp_analyze_operations (vec<slp_instance> slp_instances); +extern bool vect_slp_analyze_operations (vec<slp_instance> slp_instances, + void *); extern bool vect_schedule_slp (loop_vec_info, bb_vec_info); -extern void vect_update_slp_costs_according_to_vf (loop_vec_info); extern bool vect_analyze_slp (loop_vec_info, bb_vec_info, unsigned); extern bool vect_make_slp_decision (loop_vec_info); extern void vect_detect_hybrid_slp (loop_vec_info); |