empty function optimizations
Joe Buck
jbuck@racerx.synopsys.com
Tue Jul 11 15:47:00 GMT 2000
> > Some conforming programs would break, but these are fairly obscure (e.g.
> > programs that compare function pointers). Debugging might get harder.
> > But if you factor out common code, you can get greater savings than the
> > compiler can find and your gains are portable.
>
> How about especially marking function references that are function
> calls (the SH already does this for linker relaxation) ?
> We could then factor out common code if all references to a function
> are for a function call.
This may be feasible. There's also the matter of thunks, which may
complicate the picture: thunks may be jumps rather than function calls.
But by "factor out common code" I was talking about the C++ source level:
have templated class libraries attempt (with partial specialization and
similar techniques) to generate common code once, rather than asking for a
link-time pass to clean it up. STL has lots of candidates for such
factoring-out; for example, libstdc++ could contain pre-instantiated code
that would be used for much of vector<T> for the case where T is a PODS
without loss of efficiency.
More information about the Gcc
mailing list