Lines Matching refs:BOLT
1 # Optimizing Clang : A Practical Example of Applying BOLT
5 *BOLT* (Binary Optimization and Layout Tool) is designed to improve the application
9 The most obvious candidates for BOLT optimizations
15 misses and can be significantly improved with BOLT, even on top of profile-guided and
19 apply BOLT optimizations to make Clang up to 15% faster. We will also analyze where
33 ## Optimizing Clang with BOLT
38 Before we can run BOLT optimizations, we need to collect the profile for Clang, and we will use
58 form suitable to be consumed by BOLT:
73 BOLT-INFO: enabling relocation mode
74 BOLT-INFO: 11415 functions out of 104526 simple functions (10.9%) have non-empty execution profile.
76 BOLT-INFO: ICF folded 29144 out of 105177 functions in 8 passes. 82 functions had jump tables.
77 BOLT-INFO: Removing all identical functions will save 5466.69 KB of code space. Folded functions we…
78 BOLT-INFO: basic block reordering modified layout of 7848 (10.32%) functions
101 branches` is a good indication that BOLT was able to straighten out the code even after PGO.
123 If we run BOLT on a Clang binary compiled without *PGO+LTO* (in which case the build is finished in…
125 but, as expected, the result is still slower than *PGO+LTO+BOLT* build.
138 …over 10 misses per thousand instructions, it is a good indication that it will be improved by BOLT.
151 BOLT also improves branch mispredictions, iTLB misses, and misses in L2 and L3.
158 …TO* Clang, the build finished in 136.06 seconds, while using the *PGO+LTO+BOLT* Clang, 126.10 seco…
167 using the `merge-fdata` utility that comes with BOLT. Optimized with that profile, the *PGO+LTO+BOL…
175 In this tutorial we demonstrated how to use BOLT to improve the
176 performance of the Clang compiler. Similarly, BOLT could be used to improve the performance
185 Below we describe detailed steps to build Clang, and make it ready for BOLT
268 add one extra step that is useful for BOLT: a linker flag instructing it to
288 it builds other applications faster as well, and, with BOLT, the compile time