GCC can do that.
https://gcc.gnu.org/onlinedocs/gcc-3.4.0/gcc/Optimize-Option...
Firefox is an example of an application that ships production binaries with PGO.
[1] It was actually supported earlier than this, but I didn't search further; the 3.4.0 manual says "New -fprofile-generate and -fprofile-use command-line options to simplify the use of profile feedback", implying it was there before in a less convenient form.