https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110137
--- Comment #13 from Jan Hubicka <hubicka at ucw dot cz> --- > Is the option supposed to be only about the standard global scope operator > new/delete (_Znam etc.) or also user operator new/delete class methods? If > the > former, then I agree it is a global property (or at least a per shared > library/binary property, one can arrange stuff with symbol visibility etc.). > Otherwise it is a property of whatever operator new/delete you call. > I think DECL_IS_OPERATOR_{NEW,DELETE} is set on both of these, the standard > ones have > also DECL_IS_REPLACEABLE_OPERATOR flag on them. > Anyway, handling this just in IRA doesn't seem to be enough, surely it should > be also handled during alias analysis etc. I can add the TBAA and IPA bits (actually have WIP patch for that already). But there is also __builtion_operator_new and __builtin_operator_delete that tags sanity of new/delete with per-call sensitivity (since calls originating from std library are more opaque then direct calls done by users). So we need per-call sensitivity anyway which can be done by altenrative decl or flag in gimple_call. If user is crazy enough to do fancy tricks in new/delete I think it may be controlled by program state or so (so for some code new/delete may be sane while for other code it does not need to be0 So having this working well with LTO is IMO reasonable thing to do from QOI point of view...