[llvm] [FunctionAttrs] deduce attr `cold` on functions if all CG paths call a `cold` function (PR #101298)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 31 09:01:24 PDT 2024


goldsteinn wrote:

Results from running SPEC:
Spec 2x Runs (I dropped specrand as it finishes in < .001 sec and has
+-25% diff which skews the results).

```
Program                                       exec_time
                                              results0-0 results1-0 diff
INT2017spe...ed/620.omnetpp_s/620.omnetpp_s    26.82      27.66      3.1%
INT2017rate/525.x264_r/525.x264_r              10.06      10.12      0.6%
INT2017rate/505.mcf_r/505.mcf_r                36.31      36.49      0.5%
INT2017speed/625.x264_s/625.x264_s             10.06      10.11      0.5%
INT2017rate/557.xz_r/557.xz_r                  22.08      22.18      0.4%
INT2017spe...31.deepsjeng_s/631.deepsjeng_s    41.42      41.59      0.4%
FP2017rate/544.nab_r/544.nab_r                 36.35      36.49      0.4%
INT2017spe...00.perlbench_s/600.perlbench_s    10.79      10.83      0.4%
FP2017rate/519.lbm_r/519.lbm_r                 12.17      12.21      0.4%
FP2017speed/644.nab_s/644.nab_s                36.33      36.46      0.4%
FP2017speed/638.imagick_s/638.imagick_s        11.98      12.01      0.2%
FP2017rate/511.povray_r/511.povray_r            1.79       1.80      0.2%
INT2017spe...23.xalancbmk_s/623.xalancbmk_s    17.56      17.60      0.2%
INT2017rate/541.leela_r/541.leela_r            44.06      44.12      0.1%
INT2017rate/520.omnetpp_r/520.omnetpp_r        26.99      27.01      0.1%
                           Geomean difference                        0.2%
       exec_time
run   results0-0 results1-0       diff
count  28.000000  28.000000  28.000000
mean   27.327485  27.359046  0.002049
std    19.987921  19.931984  0.006528
min    1.792980   1.797220  -0.006428
25%    12.126350  12.158975 -0.000629
50%    21.983175  21.959215  0.001016
75%    36.336880  36.467720  0.003874
max    96.006300  95.838400  0.031301

Program                                       exec_time
                                              results0-1 results1-1 diff
INT2017rate/520.omnetpp_r/520.omnetpp_r        26.54      26.92      1.4%
INT2017rate/557.xz_r/557.xz_r                  21.92      22.06      0.7%
INT2017speed/625.x264_s/625.x264_s             10.08      10.14      0.6%
INT2017spe...00.perlbench_s/600.perlbench_s    10.81      10.87      0.5%
INT2017rat...00.perlbench_r/500.perlbench_r    10.80      10.85      0.4%
FP2017rate/544.nab_r/544.nab_r                 36.41      36.56      0.4%
FP2017rate/519.lbm_r/519.lbm_r                 12.16      12.20      0.4%
INT2017rate/525.x264_r/525.x264_r              10.09      10.13      0.3%
FP2017rate/508.namd_r/508.namd_r               12.91      12.95      0.3%
FP2017rate/510.parest_r/510.parest_r           21.89      21.95      0.3%
INT2017spe...31.deepsjeng_s/631.deepsjeng_s    41.47      41.59      0.3%
FP2017rate/526.blender_r/526.blender_r         70.29      70.46      0.2%
INT2017speed/657.xz_s/657.xz_s                 22.00      22.04      0.2%
FP2017speed/619.lbm_s/619.lbm_s                95.80      95.96      0.2%
INT2017speed/605.mcf_s/605.mcf_s               36.18      36.23      0.1%
                           Geomean difference                        0.1%
       exec_time
run   results0-2 results1-2       diff
count  28.000000  28.000000  28.000000
mean   27.309399  27.338671  0.001482
std    19.946388  19.965449  0.004339
min    1.798940   1.800750  -0.010338
25%    12.123775  12.156375 -0.001120
50%    21.901365  21.993835  0.001520
75%    36.258345  36.315370  0.003516
max    95.796100  95.958700  0.014375
```

Seems so-so, I think probably an improvement on `omnetpp`, but mostly noise.

https://github.com/llvm/llvm-project/pull/101298


More information about the llvm-commits mailing list