https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107833
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Wasn't this discussed in the past in other PRs? Whether uninitialized vars mean anything or anything but same value each time a SSA_NAME initialized to it is used? Because as this testcase shows, not all uses of uninitialized SSA_NAMEs are actually UB, at least their use in PHIs must be ok, and if IVOPTS or other optimizations can construct some expressions computing a difference between uninitialized loop iterator's PHI header between several iterations (e.g. to compute final value), it better would be the second definition rather than the first.