2019-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/92405
* tree-vect-loop.c (vectorizable_reduction): Appropriately
restrict lane-reducing ops to single stmt chains.
From-SVN: r277921
+2019-11-07 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/92405
+ * tree-vect-loop.c (vectorizable_reduction): Appropriately
+ restrict lane-reducing ops to single stmt chains.
+
2019-11-07 Martin Jambor <mjambor@suse.cz>
PR lto/70929
reduc_chain_length++;
}
+ /* For lane-reducing ops we're reducing the number of reduction PHIs
+ which means the only use of that may be in the lane-reducing operation. */
+ if (lane_reduc_code_p
+ && reduc_chain_length != 1
+ && !only_slp_reduc_chain)
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
+ "lane-reducing reduction with extra stmts.\n");
+ return false;
+ }
+
reduc_def = PHI_RESULT (reduc_def_phi);
for (i = 0; i < op_type; i++)
{