|
Extend PGO support from VC++ on WIN32 to Clang/LLVM on UNIX as well.
* Just like on Windows: if profile data is missing, skip enabling PGO
(allows non-PGO builds in branches where we don't publish PGO data).
* PGO with LTO requires additional dependencies (namely a discoverable
`ld.gold` and `LLVMgold.so`). To protect against broken support and
keep the build flexible across a wider array of distros, attempt to
detect whether PGO compilation would work (using cmake's
`try_compile()`), and fall back to a non-PGO/non-LTO build if the test
fails.
|