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

--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> ---
It is quite natural for the compiler to inline functions that are only called
once (it won't take more space) (although the compiler doesn't actually know
that the function isn't also called in another TU) more aggressively than
functions called multiple times. If you specify -O3 -finline-limit=300, we do
inline and simplify. Now of course it would be nice if the compiler realized
that inlining those functions gives a huge benefit in this case.

By the way, at -O2, without -DG, we still emit useless definitions for
functions _M_mutate and _M_dispose which are not called by f anymore, probably
because we remove those calls too late (FRE3).

Reply via email to