[PATCH] D126236: [CaptureTracking] Increase limit but use it for all visited uses.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 24 04:26:34 PDT 2022
fhahn added a comment.
> is there a number you're seeing which roughly matches performance you were getting with typed pointers?
I'm not sure if that data point is too interesting in isolation. It might be more interesting to look at the impact on the `capture-tracking.NumNotCapturedBefore` statistic. Below are numbers for MultiSource/SPEC2006/SPEC2017 on X86 with -O3. As there are loads of changes, I removed programs where the change is small (+-1-2%) and where the absolute value is low (< ~40) to keep things a bit more compact.
The first table shows current main with opaque pointers disabled vs enabled. Note that there are quite a few notable regressions. With a limit of 60, we still see regressions, going to 100 reduces that further. I also tried a limit of 200 and that only slightly reduces the number of regressions further.
| Program | No Opaque Pointers | Opaque Pointers | diff |
| ------------------------------------------- | ------------------ | --------------- | ------ |
| MultiSourc...arks/DOE-ProxyApps-C/CoMD/CoMD | 34 | 36 | 5.9% |
| MultiSourc...plications/lambda-0.1.3/lambda | 19 | 20 | 5.3% |
| MultiSourc...e/Applications/obsequi/Obsequi | 30 | 31 | 3.3% |
| MultiSourc...e/Applications/sqlite3/sqlite3 | 829 | 813 | -1.9% |
| External/S...C/CINT2006/458.sjeng/458.sjeng | 47 | 46 | -2.1% |
| External/S...te/520.omnetpp_r/520.omnetpp_r | 3320 | 3241 | -2.4% |
| External/S...06/483.xalancbmk/483.xalancbmk | 3692 | 3600 | -2.5% |
| External/S...te/526.blender_r/526.blender_r | 8525 | 8309 | -2.5% |
| External/S...NT2006/464.h264ref/464.h264ref | 121 | 117 | -3.3% |
| External/S...NT2017rate/502.gcc_r/502.gcc_r | 5240 | 5051 | -3.6% |
| MultiSourc.../Applications/JM/ldecod/ldecod | 50 | 48 | -4.0% |
| External/S...C/CINT2006/445.gobmk/445.gobmk | 376 | 360 | -4.3% |
| MultiSourc...Benchmarks/7zip/7zip-benchmark | 1132 | 1083 | -4.3% |
| External/S...06/400.perlbench/400.perlbench | 279 | 266 | -4.7% |
| MultiSourc...e/Applications/SIBsim4/SIBsim4 | 102 | 97 | -4.9% |
| MultiSourc.../Applications/JM/lencod/lencod | 111 | 105 | -5.4% |
| External/S...CINT2017rate/557.xz_r/557.xz_r | 238 | 222 | -6.7% |
| External/S...rate/511.povray_r/511.povray_r | 547 | 494 | -9.7% |
| External/S.../CFP2006/453.povray/453.povray | 549 | 495 | -9.8% |
| External/S...17rate/541.leela_r/541.leela_r | 449 | 385 | -14.3% |
| External/S...rate/510.parest_r/510.parest_r | 45561 | 37990 | -16.6% |
| External/S...NT2006/471.omnetpp/471.omnetpp | 12187 | 10133 | -16.9% |
| MultiSourc.../DOE-ProxyApps-C++/CLAMR/CLAMR | 1004 | 833 | -17.0% |
| External/S.../CFP2006/447.dealII/447.dealII | 11253 | 9313 | -17.2% |
| MultiSourc...-ProxyApps-C++/PENNANT/PENNANT | 4003 | 3171 | -20.8% |
| MultiSourc...ALAC/encode/alacconvert-encode | 106 | 79 | -25.5% |
| MultiSourc...ALAC/decode/alacconvert-decode | 106 | 79 | -25.5% |
| MultiSourc...OE-ProxyApps-C++/miniFE/miniFE | 949 | 659 | -30.6% |
| MultiSourc...e/Applications/ClamAV/clamscan | 398 | 212 | -46.7% |
| MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg | 164 | 65 | -60.4% |
| MultiSourc...ch/consumer-jpeg/consumer-jpeg | 119 | 21 | -82.4% |
| MultiSourc...ity-rijndael/security-rijndael | 48 | 0 | 100.0% |
|
| Program | Base (No Opaque Pointers) | Patch 60 (Opaque Pointers) | diff |
| ------------------------------------------------ | ------------------------- | -------------------------- | -------- |
| MultiSourc...ity-blowfish/security-blowfish | 1 | 361 | 36000.0% |
| MultiSourc...sumer-typeset/consumer-typeset | 122 | 165 | 35.2% |
| MultiSourc...arks/DOE-ProxyApps-C/CoMD/CoMD | 34 | 44 | 29.4% |
| MultiSourc.../Applications/JM/lencod/lencod | 111 | 136 | 22.5% |
| MultiSource/Applications/SPASS/SPASS | 80 | 98 | 22.5% |
| External/S...00.perlbench_r/500.perlbench_r | 560 | 682 | 21.8% |
| MultiSource/Applications/oggenc/oggenc | 126 | 148 | 17.5% |
| External/S...NT2006/464.h264ref/464.h264ref | 121 | 142 | 17.4% |
| External/S...06/400.perlbench/400.perlbench | 279 | 326 | 16.8% |
| External/SPEC/CINT2006/403.gcc/403.gcc | 968 | 1114 | 15.1% |
| MultiSourc...hmarks/MallocBench/cfrac/cfrac | 30 | 32 | 6.7% |
| MultiSourc...enchmarks/mafft/pairlocalalign | 101 | 107 | 5.9% |
| External/S.../CFP2006/450.soplex/450.soplex | 431 | 455 | 5.6% |
| MultiSourc...nchmarks/FreeBench/mason/mason | 42 | 44 | 4.8% |
| MultiSource/Benchmarks/Bullet/bullet | 677 | 707 | 4.4% |
| External/S...2017rate/525.x264_r/525.x264_r | 159 | 166 | 4.4% |
| MultiSourc...nchmarks/tramp3d-v4/tramp3d-v4 4 | 975 | 5190 | 4.3% |
| MultiSourc.../Applications/JM/ldecod/ldecod | 50 | 52 | 4.0% |
| External/S...rate/511.povray_r/511.povray_r | 547 | 562 | 2.7% |
| External/S...NT2017rate/502.gcc_r/502.gcc_r 5 | 240 | 5377 | 2.6% |
| External/S.../CFP2006/453.povray/453.povray | 549 | 563 | 2.6% |
| MultiSourc...e/Applications/sqlite3/sqlite3 | 829 | 849 | 2.4% |
| External/S...C/CINT2006/445.gobmk/445.gobmk | 376 | 385 | 2.4% |
| MultiSourc...e/Applications/ClamAV/clamscan | 398 | 406 | 2.0% |
| External/S...C/CINT2006/458.sjeng/458.sjeng | 47 | 46 | -2.1% |
| MultiSource/Benchmarks/Ptrdist/bc/bc | 60 | 55 | -8.3% |
| External/S.../CFP2006/447.dealII/447.dealII | 11253 | 244 | -9.0% |
| External/S...17rate/541.leela_r/541.leela_r | 449 | 385 | -14.3% |
| External/S...rate/510.parest_r/510.parest_r | 45561 | 8815 | -14.8% |
| MultiSourc.../DOE-ProxyApps-C++/CLAMR/CLAMR | 1004 | 853 | -15.0% |
| MultiSourc...-ProxyApps-C++/PENNANT/PENNANT | 4003 | 3171 | -20.8% |
| MultiSourc...OE-ProxyApps-C++/miniFE/miniFE | 949 | 665 | -29.9% |
| External/S...te/538.imagick_r/538.imagick_r | 837 | 511 | -38.9% |
| MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg | 164 | 79 | -51.8% |
| MultiSourc...ch/consumer-jpeg/consumer-jpeg | 119 | 19 | -84.0% |
| MultiSourc...ity-rijndael/security-rijndael | 48 | 0 | -100.0% |
|
| Program | Base (No Opaque Pointers) | Patch 100 (Opaque Pointers) | diff |
| ------------------------------------------------ | ------------------------- | --------------------------- | -------- |
| MultiSourc...ity-blowfish/security-blowfish | 1 | 361 | 36000.0% |
| MultiSourc...ch/office-ispell/office-ispell | 4 | 39 | 875.0% |
| External/S.../462.libquantum/462.libquantum | 13 | 61 | 369.2% |
| External/S...C/CINT2006/456.hmmer/456.hmmer | 191 | 315 | 64.9% |
| External/SPEC/CINT2006/403.gcc/403.gcc | 968 | 1425 | 47.2% |
| MultiSourc...arks/DOE-ProxyApps-C/CoMD/CoMD | 34 | 50 | 47.1% |
| MultiSourc...ch/consumer-lame/consumer-lame | 69 | 101 | 46.4% |
| MultiSourc...sumer-typeset/consumer-typeset | 122 | 173 | 41.8% |
| MultiSourc.../mediabench/jpeg/jpeg-6a/cjpeg | 164 | 216 | 31.7% |
| MultiSource/Applications/lemon/lemon | 32 | 42 | 31.2% |
| External/S...rate/511.povray_r/511.povray_r | 547 | 699 | 27.8% |
| External/S.../CFP2006/453.povray/453.povray | 549 | 701 | 27.7% |
| MultiSourc.../Applications/JM/lencod/lencod | 111 | 140 | 26.1% |
| External/S...00.perlbench_r/500.perlbench_r | 560 | 700 | 25.0% |
| MultiSource/Applications/oggenc/oggenc | 126 | 157 | 24.6% |
| External/S...C/CINT2006/445.gobmk/445.gobmk | 376 | 466 | 23.9% |
| MultiSource/Applications/SPASS/SPASS | 80 | 99 | 23.8% |
| External/S...NT2006/464.h264ref/464.h264ref | 121 | 146 | 20.7% |
| External/S...06/400.perlbench/400.perlbench | 279 | 326 | 16.8% |
| MultiSourc...OE-ProxyApps-C/miniGMG/miniGMG | 23 | 26 | 13.0% |
| MultiSource/Benchmarks/Bullet/bullet | 677 | 748 | 10.5% |
| MultiSourc.../Applications/JM/ldecod/ldecod | 50 | 55 | 10.0% |
| External/S.../CFP2006/450.soplex/450.soplex | 431 | 470 | 9.0% |
| External/S...2017rate/525.x264_r/525.x264_r | 159 | 172 | 8.2% |
| External/S...NT2017rate/502.gcc_r/502.gcc_r 5 | 240 | 5609 | 7.0% |
| External/S...te/526.blender_r/526.blender_r 8 | 525 | 9075 | 6.5% |
| External/S...C/CINT2006/458.sjeng/458.sjeng | 47 | 50 | 6.4% |
| MultiSourc...enchmarks/mafft/pairlocalalign | 101 | 107 | 5.9% |
| MultiSourc...nchmarks/tramp3d-v4/tramp3d-v4 4 | 975 | 5235 | 5.2% |
| MultiSourc...nchmarks/FreeBench/mason/mason | 42 | 44 | 4.8% |
| External/S.../CFP2006/447.dealII/447.dealII | 11253 | 10466 | -7.0% |
| External/S...rate/510.parest_r/510.parest_r | 45561 | 39810 | -12.6% |
| External/S...17rate/541.leela_r/541.leela_r | 449 | 385 | -14.3% |
| MultiSourc.../DOE-ProxyApps-C++/CLAMR/CLAMR | 1004 | 853 | -15.0% |
| MultiSourc...-ProxyApps-C++/PENNANT/PENNANT | 4003 | 3171 | -20.8% |
| MultiSourc...OE-ProxyApps-C++/miniFE/miniFE | 949 | 665 | -29.9% |
| External/S...te/538.imagick_r/538.imagick_r | 837 | 537 | -35.8% |
|
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126236/new/
https://reviews.llvm.org/D126236
More information about the llvm-commits
mailing list