https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107663
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- Gcc often ignores the control flow for alias/escape analysis. v escapes at some point, and that's enough to prevent gcc from noticing that nothing can have written to v *before* the use. The same thing also hinders some optimizations, I am sure there are duplicates in bugzilla.