[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