With the last vectorizable_shift patch we can now always use the
SLP vector defs to determine the vectorized stmt insertion place,
paving the way for a "verifier" for pending restructuring and
BB vectorization of reductions and other live stmts.
2020-06-25 Richard Biener <rguenther@suse.de>
* tree-vect-slp.c (vect_schedule_slp_instance): Always use
vector defs to determine insertion place.
else if (SLP_TREE_CHILDREN (node).is_empty ())
/* This happens for reduction PHIs. */
si = gsi_for_stmt (vect_find_last_scalar_stmt_in_slp (node)->stmt);
- else if (stmt_vec_info first_stmt_info
- = vect_find_last_scalar_stmt_in_slp (node))
- /* ??? Shifts by scalars hit us here again, we end up vectorizing
- the shift operand but end up using the scalar operand anyway.
- This needs to be better reflected in the SLP tree. For now
- use the last position if available. */
- si = gsi_for_stmt (first_stmt_info->stmt);
else
{
/* Emit other stmts after the children vectorized defs which is