On 05/08/2015 01:07 PM, David Edelsohn wrote:
Steve Ellcey wrote:

After your change GCC sees that the code for f1 and f2 are identical
so it replaced the body of f2 with a call to f1.  This optimization will
save space but it is not going to be faster because any call to f2 will
now include an extra call/return.  Do other platforms have this same issue
or is there a way to make f2 an alias for f1 on other targets so no extra
call is needed?  I looked around to see if there was a target function or
macro that is used to make one function an alias of another but I didn't
see anything.

This probably is not good for POWER, and probably not for ARM, in fact
probably not good for most RISC architectures.
But isn't this code going to be creating aliases when the output format supports them -- which avoids the call/return overheads?

Which might argue that if we don't have aliases, then ICF might need to be a -Os thing.

jeff

Reply via email to