===================================================================
@@ -5300,8 +5300,11 @@ vect_create_epilog_for_reduction (stmt_v
orig_name = PHI_RESULT (exit_phi);
scalar_result = scalar_results[k];
FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, orig_name)
- FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
- SET_USE (use_p, scalar_result);
+ {
+ FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
+ SET_USE (use_p, scalar_result);
+ update_stmt (use_stmt);
+ }
}
phis.release ();
===================================================================
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-ftree-vectorize" } */
+
+short int zb;
+
+void
+gs (void)
+{
+ while (zb < 1)
+ {
+ int at;
+
+ zb %= 1;
+
+ for (at = 0; at < 56; ++at)
+ zb += zb;
+
+ ++zb;
+ }
+}