diff options
author | Richard Biener <rguenther@suse.de> | 2015-05-27 10:31:11 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-05-27 10:31:11 +0000 |
commit | b1af7da61278d2c4ae7b7f56fad37723461031cb (patch) | |
tree | 40d2e77b7b6d01756dc06079d1b3fc6376445cac /gcc/tree-vect-slp.c | |
parent | d4cecb1341384edd198ca175e3561410afb6fe44 (diff) | |
download | gcc-b1af7da61278d2c4ae7b7f56fad37723461031cb.zip gcc-b1af7da61278d2c4ae7b7f56fad37723461031cb.tar.gz gcc-b1af7da61278d2c4ae7b7f56fad37723461031cb.tar.bz2 |
tree-vect-stmts.c (vectorizable_load): Initialize slp_perm earlier and remove ??? comment.
2015-05-27 Richard Biener <rguenther@suse.de>
* tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
earlier and remove ??? comment.
(vect_analyze_stmt): If we are analyzing a pure SLP stmt
and got called from loop analysis bail out. Always pass the SLP
node to the vectorizable_* functions.
* tree-vect-loop.c (vect_analyze_loop_operations): Remove
the premature SLP check here.
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
detected SLP stmts.
(vect_detect_hybrid_slp_1): Likewise.
From-SVN: r223743
Diffstat (limited to 'gcc/tree-vect-slp.c')
-rw-r--r-- | gcc/tree-vect-slp.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index 1e68020..214c96c 100644 --- a/gcc/tree-vect-slp.c +++ b/gcc/tree-vect-slp.c @@ -2027,7 +2027,14 @@ vect_detect_hybrid_slp_stmts (slp_tree node, unsigned i, slp_vect_type stype) } if (stype == hybrid) - STMT_SLP_TYPE (stmt_vinfo) = hybrid; + { + if (dump_enabled_p ()) + { + dump_printf_loc (MSG_NOTE, vect_location, "marking hybrid: "); + dump_gimple_stmt (MSG_NOTE, TDF_SLIM, stmt, 0); + } + STMT_SLP_TYPE (stmt_vinfo) = hybrid; + } FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (node), j, child) if (child) @@ -2051,7 +2058,14 @@ vect_detect_hybrid_slp_1 (tree *tp, int *, void *data) gimple def_stmt = SSA_NAME_DEF_STMT (*tp); if (flow_bb_inside_loop_p (loopp, gimple_bb (def_stmt)) && PURE_SLP_STMT (vinfo_for_stmt (def_stmt))) - STMT_SLP_TYPE (vinfo_for_stmt (def_stmt)) = hybrid; + { + if (dump_enabled_p ()) + { + dump_printf_loc (MSG_NOTE, vect_location, "marking hybrid: "); + dump_gimple_stmt (MSG_NOTE, TDF_SLIM, def_stmt, 0); + } + STMT_SLP_TYPE (vinfo_for_stmt (def_stmt)) = hybrid; + } } return NULL_TREE; |