aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-slp.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-05-27 10:31:11 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-05-27 10:31:11 +0000
commitb1af7da61278d2c4ae7b7f56fad37723461031cb (patch)
tree40d2e77b7b6d01756dc06079d1b3fc6376445cac /gcc/tree-vect-slp.c
parentd4cecb1341384edd198ca175e3561410afb6fe44 (diff)
downloadgcc-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.c18
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;