https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106558
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ygribov at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- This is due to the https://gcc.gnu.org/legacy-ml/gcc-patches/2014-12/msg00242.html r5-5530-ge28f2090dbbb5072 optimization, which is incorrect. If we want to track pointers which live in memory, we'd need to ask the alias oracle on each store or call whether the store or call couldn't change the value of such a pointer and if yes, invalidate them. Not really sure it is worth it though.