[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