https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119399
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Note the possible UB is in the POINTER_DIFF_EXPR _25 = p_12(D) - _7 which we should arguably not use but instead use an integer type difference when different objects are involved. Still the actual alias check looks prone to overflow issues since we do not distinguish before/after placement.