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-vect-loop.c | |
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-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index b93685e..8fe4dc6 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -1814,15 +1814,12 @@ vect_analyze_loop_2 (loop_vec_info loop_vinfo) /* Update the vectorization factor based on the SLP decision. */ vect_update_vf_for_slp (loop_vinfo); - /* Once VF is set, SLP costs should be updated since the number of - created vector stmts depends on VF. */ - vect_update_slp_costs_according_to_vf (loop_vinfo); - /* Analyze operations in the SLP instances. Note this may remove unsupported SLP instances which makes the above SLP kind detection invalid. */ unsigned old_size = LOOP_VINFO_SLP_INSTANCES (loop_vinfo).length (); - vect_slp_analyze_operations (LOOP_VINFO_SLP_INSTANCES (loop_vinfo)); + vect_slp_analyze_operations (LOOP_VINFO_SLP_INSTANCES (loop_vinfo), + LOOP_VINFO_TARGET_COST_DATA (loop_vinfo)); if (LOOP_VINFO_SLP_INSTANCES (loop_vinfo).length () != old_size) return false; } |