Thanks both. Would it be realistic to teach IPA ICF that in this case, taking the address of the functions doesn't matter? Should I raise an enhancement request? Thanks, Jay. On 4 November 2015 at 10:41, Alexander Monakov <amonakov@xxxxxxxxx> wrote: > Starting from release 5.1, GCC has IPA ICF (identical code folding) that can > perform such transform: you can use -fdump-ipa-icf to inspect its log file. > However, it doesn't eliminate the functions in your example, because they have > their address taken (and the pass does not realize that it doesn't matter). > Therefore it creates a wrapper rather than an alias, and then inlining undoes > that transform. > > Alexander