[all-commits] [llvm/llvm-project] 24bf6f: [llvm] Update default cutoff threshold for machine...
Snehasish Kumar via All-commits
all-commits at lists.llvm.org
Wed Oct 14 12:51:19 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 24bf6ff4e08f88df0b6c01ef87aa384276636901
https://github.com/llvm/llvm-project/commit/24bf6ff4e08f88df0b6c01ef87aa384276636901
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2020-10-14 (Wed, 14 Oct 2020)
Changed paths:
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
M llvm/test/CodeGen/X86/machine-function-splitter.ll
Log Message:
-----------
[llvm] Update default cutoff threshold for machine function splitter.
Based on internal testing at Google we found that setting the profile
summary cutoff threshold to 999950 yields the best results in terms of
itlb and icache metrics (as observed on Intel CPUs).
*default* = Split out code if no profile count available for block
*size-%* = The fraction of bytes split out of .text and .text.hot
*itlb* = Misses per kilo instructions (MPKI) for itlb
*icache* = Misses per kilo instructions (MPKI) for L1 icache
Search1
| cutoff | size-% | itlb | icache |
|---------|---------|-----------|---------|
| default | 42.5861 | 0.0822151 | 2.46363 |
| 999999 | 44.9350 | 0.0767194 | 2.44416 |
| 999950 | 50.0660 | 0.075744 | 2.4091 |
| 999500 | 56.9158 | 0.082564 | 2.4188 |
| 995000 | 63.8625 | 0.0814927 | 2.42832 |
| 990000 | 71.7314 | 0.106906 | 2.57785 |
Search2
| cutoff | size-% | itlb | icache |
|---------|--------|----------|---------|
| default | 2.8845 | 0.626712 | 4.73245 |
| 999999 | 3.3291 | 0.602309 | 4.70045 |
| 999950 | 3.8577 | 0.587842 | 4.71632 |
| 999500 | 4.4170 | 0.63577 | 4.68351 |
| 995000 | 5.1020 | 0.657969 | 4.82272 |
| 990000 | 5.7153 | 0.719122 | 5.39496 |
Differential Revision: https://reviews.llvm.org/D89085
More information about the All-commits
mailing list