https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87525

--- Comment #27 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Well, we can't throw away all extern inlines as that would penalize C++
performance quite a lot (it is ipa-inliner that decides on inlining of most of
keyed methods).

The real fix is to special case GNU extern inlines and avoid merging of them
which needs support for a symbol with multiple definitions (so a symbol can be
both syntactic alias and function definition) and then handle it right
everywhere in the IPA optimization queue (make IPA optimizers to understand
that every copy may have different semantics but it is still interchangeable
for the offline variant).  I have patches for that but the first part of this,
but it is definitly for next stage1.

Reply via email to