https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105528
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #7) > Created attachment 52941 [details] > gcc12-pr105528.patch > > Untested fix. gsi_remove moves iterator to the next stmt after the removed > one, and the caller uses gsi_next, so if gsi_remove happened, the caller > skips processing one stmt. That explains the -g difference even.