This patch adds documentation into the advanced builds documentation on
how to use the BOLT caches, including the combinations with the PGO
multistage builds and (Thin)LTO.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Adds info on using BOLT optimized builds and an example configuration using PGO, ThinLTO, and BOLT for a highly optimized build. Really compelling performance gains were demonstrated at the LLVM US Developer's Meeting, and I wanted to make replication more accessible through better documentation. It also seems like these details are also documented in clang/cmake/caches/README.txt. If there's interest for adding documentation there as well, I can open up another patch documenting some of this stuff in more detail (ie enumerating targets added by the BOLT caches as done in the other targets), but the CMake cache files are relatively simple.
These configs are mostly taken from the commit messages where they are implemented, with some slight modifications, particularly removing the LLVM_ENABLE_LLD flag in the fully optimized build config in case the user doesn't have LLD installed. I've left the other LLD flags on due to the significantly faster link time due to using LLD.
llvm/docs/AdvancedBuilds.rst | ||
---|---|---|
201 | Can you add a link to the bolt github readme here ? |
Can you add a link to the bolt github readme here ?