On Sun, 10 Dec 2023, Richard Biener wrote: > > It seems wrong to me: CLOBBER_EOL is documented to mean that the storage is > > expiring at that point as well, which a (pseudo-)destructor does not imply; > > it's perfectly valid to destroy an object and then create another in the > > same storage. > > > > We probably do want another clobber kind for end of object lifetime. And/or > > one for beginning of object lifetime. > > There’s not much semantically different between UNDEF and end of object but > not storage lifetime? At least for what middle-end optimizations do. > > EOL is used by stack slot sharing and that operates on the underlying storage, > not individual objects live in it.
I thought EOL implies that ASan may poison underlying memory. In the respin of the Valgrind interop patch we instrument CLOBBER_UNDEF, but not CLOBBER_EOL. Alexander