===================================================================
@@ -1748,11 +1748,12 @@ replace_uses_by (tree name, tree val)
/* If we have sth like
neighbor_29 = <name> + -1;
_33 = <name> + neighbor_29;
- and end up visiting _33 first then folding will
- simplify the stmt to _33 = <name>; and the new
- immediate use will be inserted before the stmt
- iterator marker and thus we fail to visit it
- again, ICEing within the has_zero_uses assert.
+ and substitute 1 for <name> then when visiting
+ _33 first then folding will simplify the stmt
+ to _33 = <name>; and the new immediate use will
+ be inserted before the stmt iterator marker and
+ thus we fail to visit it again, ICEing within the
+ has_zero_uses assert.
Avoid that by never following SSA edges. */
if (fold_stmt (&gsi, no_follow_ssa_edges))
stmt = gsi_stmt (gsi);