https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98130
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. The issue is that placement new is _not_ __attribute__((malloc)),
it makes PTA consider the object not escaping and then we have DSE do
;; Function append (_ZL6appendPi, funcdef_no=1, decl_uid=2355, cgraph_uid=2,
symbol_order=3)
Deleted dead store: MEM[(int * *)_4] = value_5(D);
__attribute__((always_inline))
void append (int * value)
{
void * _2;
void * _4;
<bb 2> :
_2 = p;
_4 = operator new (8, _2);
return;
}