diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1a7bb1eb2e79f95beee5977fcc568f1b307dcfc9..60180905a68aff136d6c0f5825a027769d4d80aa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+	* value-prof.c (gimple_divmod_fixed_value_transform): Update
+	the stmt.
+	(gimple_mod_pow2_value_transform): Likewise.
+	(gimple_mod_subtract_transform): Likewise.
+
 2010-11-17  Richard Guenther  <rguenther@suse.de>
 
 	PR lto/46504
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index 07102504232df8c2d814e6716903e48787f378f2..2b86e02640705833bc2035570d094c62e9592325 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -702,6 +702,7 @@ gimple_divmod_fixed_value_transform (gimple_stmt_iterator *si)
     }
 
   gimple_assign_set_rhs_from_tree (si, result);
+  update_stmt (gsi_stmt (*si));
 
   return true;
 }
@@ -851,6 +852,7 @@ gimple_mod_pow2_value_transform (gimple_stmt_iterator *si)
   result = gimple_mod_pow2 (stmt, prob, count, all);
 
   gimple_assign_set_rhs_from_tree (si, result);
+  update_stmt (gsi_stmt (*si));
 
   return true;
 }
@@ -1051,6 +1053,7 @@ gimple_mod_subtract_transform (gimple_stmt_iterator *si)
   result = gimple_mod_subtract (stmt, prob1, prob2, i, count1, count2, all);
 
   gimple_assign_set_rhs_from_tree (si, result);
+  update_stmt (gsi_stmt (*si));
 
   return true;
 }