+2016-06-13 Alan Hayward <alan.hayward@arm.com>
+
+ PR tree-optimization/71416
+ * tree-vect-loop.c (vectorizable_live_operation): Let worklist have
+ multiple entries
+
2016-06-13 Martin Liska <mliska@suse.cz>
* predict.c (enum predictor_reason): Prefix enum with REASON_.
FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, lhs)
if (!flow_bb_inside_loop_p (loop, gimple_bb (use_stmt)))
worklist.safe_push (use_stmt);
- gcc_assert (worklist.length () == 1);
+ gcc_assert (worklist.length () >= 1);
bitsize = TYPE_SIZE (TREE_TYPE (vectype));
vec_bitsize = TYPE_SIZE (vectype);
/* Replace all uses of the USE_STMT in the worklist with the newly inserted
statement. */
- use_stmt = worklist.pop ();
- replace_uses_by (gimple_phi_result (use_stmt), new_tree);
- update_stmt (use_stmt);
+ while (!worklist.is_empty ())
+ {
+ use_stmt = worklist.pop ();
+ replace_uses_by (gimple_phi_result (use_stmt), new_tree);
+ update_stmt (use_stmt);
+ }
return true;
}