https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100366
--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> --- So, apart from the small missed PHI optimization, this is probably the common issue that since operator new is replacable, we can't really assume that it does not clobber anything, and that hurts optimizations :-( Not sure if there would be any convenient workaround for this specific case.