profile-driven optimization and the linker?
Jeffrey A Law
law@redhat.com
Thu Nov 25 20:38:00 GMT 2004
On Thu, 2004-11-25 at 10:14 -0800, Dan Kegel wrote:
> http://gcc.gnu.org/news/profiledriven.html doesn't mention
> having ld reorder sections to improve locality of reference
> of frequently called functions. Has that technique
> been tried with gcc and binutils?
Yes. I had some success with it a while back.
With ELF it's not terribly hard since we can arrange for
each function to be put in its own section. Thus you get
to do function-level reordering by just twiddling a linker
map. In fact, that's where -ffunction-sections name from.
We had some hacks to gprof which would take profile data
and build a linker map. That's the code that really needs
to be improved. I never understood the gprof code well
enough to do it right.
Jeff
More information about the Gcc
mailing list