https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95425
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-06-02 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed, there's a duplicate - the issue is GCC doesn't get that if only 'f' modifies x it can constant propagate the zero initializer. Of course it's a little tricky to do in VN since you have to iterate where there's no visible backedge (and obviously you don't want to do that in general).