https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109849
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jan Hubicka from comment #0) > saving an instruction. Why we do not move stack+8 updating out of the loop? Maybe because of a clobber: cur$second_5 = MEM[(const struct pairD.26349 &)_7 + 18446744073709551608].secondD.27577; # PT = nonlocal escaped _4 = _7 + 18446744073709551608; # .MEM_9 = VDEF <.MEM_1> stackD.26352.D.27437._M_implD.26667.D.26744._M_finishD.26670 = _4; # .MEM_10 = VDEF <.MEM_9> MEM[(struct pairD.26349 *)_7 + -8B] ={v} {CLOBBER};