diff options
author | Ira Rosen <ira.rosen@linaro.org> | 2011-04-28 19:50:28 +0000 |
---|---|---|
committer | Ira Rosen <irar@gcc.gnu.org> | 2011-04-28 19:50:28 +0000 |
commit | 437f4a0024d9829a138ad1f5b0311cbf4289d5e3 (patch) | |
tree | d74e91634ee0c939232faa3f82d1f68d10da27ba /gcc/tree-vectorizer.h | |
parent | 45540bcf241167158663d4e7970749c103a8afd2 (diff) | |
download | gcc-437f4a0024d9829a138ad1f5b0311cbf4289d5e3.zip gcc-437f4a0024d9829a138ad1f5b0311cbf4289d5e3.tar.gz gcc-437f4a0024d9829a138ad1f5b0311cbf4289d5e3.tar.bz2 |
re PR tree-optimization/48765 (ICE in vect_transform_stmt)
PR tree-optimization/48765
* tree-vectorizer.h (vect_make_slp_decision): Return bool.
* tree-vect-loop.c (vect_analyze_loop_operations): Add new
argument to indicate if loop aware SLP is being used. Scan
the statements and update the vectorization factor
according to the type of
vectorization before statement analysis.
(vect_analyze_loop_2): Get a return value from
vect_make_slp_decision, pass it to
vect_analyze_loop_operations.
(vectorizable_reduction): Set number of copies to 1 in case of
pure SLP statement.
* tree-vect-stmts.c (vectorizable_conversion,
vectorizable_assignment, vectorizable_shift,
vectorizable_operation, vectorizable_type_demotion,
vectorizable_type_promotion, vectorizable_store,
vectorizable_load): Likewise.
(vectorizable_condition): Move the check that it is not SLP
vectorization before the number of copies check.
* tree-vect-slp.c (vect_make_slp_decision): Return TRUE if
decided to vectorize the loop using SLP.
From-SVN: r173132
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 6e63afc..9181f67 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -870,7 +870,7 @@ extern bool vect_transform_slp_perm_load (gimple, VEC (tree, heap) *, 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); -extern void vect_make_slp_decision (loop_vec_info); +extern bool vect_make_slp_decision (loop_vec_info); extern void vect_detect_hybrid_slp (loop_vec_info); extern void vect_get_slp_defs (tree, tree, slp_tree, VEC (tree,heap) **, VEC (tree,heap) **, int); |