bb_vinfo->shared->check_datarefs ();
+ bool force_clear = false;
auto_vec<slp_instance> profitable_subgraphs;
for (slp_instance instance : BB_VINFO_SLP_INSTANCES (bb_vinfo))
{
vect_location = saved_vect_location;
if (!dbg_cnt (vect_slp))
- continue;
+ {
+ force_clear = true;
+ continue;
+ }
profitable_subgraphs.safe_push (instance);
}
/* When we're vectorizing an if-converted loop body make sure
we vectorized all if-converted code. */
- if (!profitable_subgraphs.is_empty ()
- && orig_loop)
+ if ((!profitable_subgraphs.is_empty () || force_clear) && orig_loop)
{
gcc_assert (bb_vinfo->bbs.length () == 1);
for (gimple_stmt_iterator gsi = gsi_start_bb (bb_vinfo->bbs[0]);