Since the acceptance of the "BOLT framework for binary analysis,
transformation, and optimization" RFC
we’ve been working on addressing the feedback and getting ready for
inclusion into the monorepo. We’ve cleaned up interfaces with core LLVM
libraries, refactored our codebase to match LLVM coding standards, and
added more open-source tests. Additionally, we’ve made BOLT faster and
As of this writing, BOLT could be built as a separate project in the
LLVM monorepo without any patches other than build configuration
changes. You can view the latest sources at the monorepo fork
https://github.com/facebookincubator/BOLT, under “/bolt”.
During the past year, we were happy to see an ever-growing inflow of
pull requests from external contributors. We believe that accelerating
the monorepo integration will streamline the open-source review process
and make it more transparent.
While we are finishing the final steps before the integration
(https://github.com/facebookincubator/BOLT/issues/248), we would like to
hear from the community and address any remaining concerns. If
everything goes smoothly, we anticipate the merge to happen early next
month and in time for LLVM 14 release.
We are still working on finalizing the exact logistics of the merge.
However, we expect to follow the Flang project’s footsteps and run the
“–no-ff” merge to preserve the history of ~1K commits. We would like to
ask for help and coordination from the release managers Tom Stellard and
We haven’t made the final decision on including BOLT in
LLVM_ALL_PROJECTS, but we are ready to make BOLT the default project in
the initial merge commit. Currently, we do not support building on
Windows; thus, the project will be automatically disabled with the
warning when building on unsupported platforms. As we anticipate the
increased load on buildbots, we would like to know how we can help with
adding more build machines. Please let us know!
Maksim and BOLT Team