inside the loop body. The last operand is the reduction variable,
which is defined by the loop-header-phi. */
- tree vectype_out = STMT_VINFO_VECTYPE (stmt_info);
+ tree vectype_out = SLP_TREE_VECTYPE (slp_for_stmt_info);
STMT_VINFO_REDUC_VECTYPE (reduc_info) = vectype_out;
STMT_VINFO_REDUC_VECTYPE_IN (reduc_info) = vectype_in;
gcc_unreachable ();
}
+ if (PURE_SLP_STMT (stmt_info) && !node)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, vect_location,
+ "handled only by SLP analysis\n");
+ return opt_result::success ();
+ }
+
tree saved_vectype = STMT_VINFO_VECTYPE (stmt_info);
if (node)
STMT_VINFO_VECTYPE (stmt_info) = SLP_TREE_VECTYPE (node);
*need_to_vectorize = true;
}
- if (PURE_SLP_STMT (stmt_info) && !node)
- {
- if (dump_enabled_p ())
- dump_printf_loc (MSG_NOTE, vect_location,
- "handled only by SLP analysis\n");
- return opt_result::success ();
- }
-
/* When we arrive here with a non-SLP statement and we are supposed
to use SLP for everything fail vectorization. */
if (!node)