Hi, The patch didn't handled the case for dt being vect_constant_def, where of course the reduc_def_stmt is NULL. By checking for NULL before testing for PHI, we now fallback for such cases to old behavior and return in the next if-statment.
2015-02-25 Richard Biener <rguent...@suse.de> Kai Tietz <kti...@redhat.com> PR tree-optimization/61917 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case that reduc_def_stmt is null. Tested and will apply as obvious to trunk and 4.9 if there are no objections. Sorry for the noise. Kai Index: tree-vect-loop.c =================================================================== --- tree-vect-loop.c (Revision 220968) +++ tree-vect-loop.c (Arbeitskopie) @@ -4912,7 +4912,7 @@ vectorizable_reduction (gimple stmt, gimple_stmt_i if (!found_nested_cycle_def) reduc_def_stmt = def_stmt; - if (gimple_code (reduc_def_stmt) != GIMPLE_PHI) + if (reduc_def_stmt && gimple_code (reduc_def_stmt) != GIMPLE_PHI) return false; if (!(dt == vect_reduction_def