aboutsummaryrefslogtreecommitdiff
path: root/lldb/packages/Python/lldbsuite/test/configuration.py
diff options
context:
space:
mode:
authorspupyrev <spupyrev@fb.com>2022-07-08 10:14:26 -0700
committerspupyrev <spupyrev@fb.com>2022-07-11 09:31:52 -0700
commit7228371054746fd37a729b7f7f72f4689b68e890 (patch)
tree2b2fb647fbc72cb328fa8f45d0fd5173954f210f /lldb/packages/Python/lldbsuite/test/configuration.py
parent76029cc53e838e6d86b13b0c39152f474fb09263 (diff)
downloadllvm-7228371054746fd37a729b7f7f72f4689b68e890.zip
llvm-7228371054746fd37a729b7f7f72f4689b68e890.tar.gz
llvm-7228371054746fd37a729b7f7f72f4689b68e890.tar.bz2
[BOLT] Do not merge cold and hot chains of basic blocks
There is a post-processing in ext-tsp block reordering that merges some blocks into chains. This allows to maintain the original block order in the absense of profile data and can be beneficial for code size (when fallthroughs are merged). In the earlier version we could merge hot and cold (with zero execution count) chains, that later were split by SplitFunction.cpp (when split-all-cold=1). The diff eliminates the redundant merging. It is unlikely the change will affect the performance of a binary in a measurable way, as it is mostly operates with cold basic blocks. However, after the diff the impact of split-all-cold is almost negligible and we can avoid the extra function splitting. Measuring on the clang binary (negative is good, positive is a regression): **clang12** benchmark1: `0.0253` benchmark2: `-0.1843` benchmark3: `0.3234` benchmark4: `0.0333` **clang10** benchmark1 `-0.2517` benchmark2 `-0.3703` benchmark3 `-0.1186` benchmark4 `-0.3822` **clang7** benchmark1 `0.2526` benchmark2 `0.0500` benchmark3 `0.3024` benchmark4 `-0.0489` **Overall**: `-0.0671 ± 0.1172` (insignificant) Reviewed By: maksfb Differential Revision: https://reviews.llvm.org/D129397
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/configuration.py')
0 files changed, 0 insertions, 0 deletions