I'm quite intrigued by LTO. Can anyone explain how it works from a high-level viewpoint?
Traditionally, a C(++) linker is nearly brain-dead.
LTO enables the linker to perform some / many / most / all of the same optimizations as the compiler. Instead of getting simple crude linkable-objects the linker essentially gets the internal data from the compiler.