[llvm] [MCP] Move dependencies if they block copy propagation (PR #105562)

Gábor Spaits via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 11:46:42 PDT 2024


spaits wrote:

When decreasing the node limit to 10 we no longer have major affect on the compile time:
```
Metric: compile_time

/home/spaits/repo/llvm-test-suite/build/../utils/compare.py:206: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
  name0 = names[0]
Program                                       compile_time             
                                              lhs          rhs    diff 
mafft/pairlocalalign                           22.59        23.23  2.8%
tramp3d-v4/tramp3d-v4                          35.39        36.21  2.3%
sqlite3/sqlite3                                14.66        14.95  2.0%
consumer-typeset/consumer-typeset              27.19        27.54  1.3%
kimwitu++/kc                                   36.90        37.32  1.1%
lencod/lencod                                  43.72        43.99  0.6%
Bullet/bullet                                  84.59        83.49 -1.3%
ClamAV/clamscan                                45.49        44.86 -1.4%
7zip/7zip-benchmark                           178.00       170.98 -3.9%
SPASS/SPASS                                    40.12        38.26 -4.6%
                           Geomean difference                     -0.1%
      compile_time                       
l/r            lhs         rhs       diff
count  10.000000    10.000000   10.000000
mean   52.864370    52.082750  -0.001092 
std    47.796605    45.601328   0.026105 
min    14.659300    14.948100  -0.046405 
25%    29.238775    29.706625  -0.013767 
50%    38.510750    37.789450   0.008828 
75%    45.049625    44.639600   0.017983 
max    177.996800   170.979400  0.028410
```

And another measurement:
```
Metric: compile_time

/home/spaits/repo/llvm-test-suite/build/../utils/compare.py:206: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
  name0 = names[0]
Program                                       compile_time             
                                              lhs          rhs    diff 
tramp3d-v4/tramp3d-v4                          35.91        36.21  0.8%
7zip/7zip-benchmark                           169.90       170.98  0.6%
Bullet/bullet                                  82.98        83.49  0.6%
sqlite3/sqlite3                                14.87        14.95  0.6%
SPASS/SPASS                                    38.07        38.26  0.5%
lencod/lencod                                  43.81        43.99  0.4%
kimwitu++/kc                                   37.22        37.32  0.3%
ClamAV/clamscan                                44.74        44.86  0.3%
mafft/pairlocalalign                           23.34        23.23 -0.5%
consumer-typeset/consumer-typeset              28.06        27.54 -1.9%
                           Geomean difference                      0.2%
      compile_time                       
l/r            lhs         rhs       diff
count  10.000000    10.000000   10.000000
mean   51.889700    52.082750   0.001741 
std    45.243923    45.601328   0.007972 
min    14.865300    14.948100  -0.018582 
25%    30.023225    29.706625   0.002573 
50%    37.646100    37.789450   0.004540 
75%    44.508800    44.639600   0.006052 
max    169.895800   170.979400  0.008292
```
Here are code sizes:
```
Tests: 10
Metric: size..text

/home/spaits/repo/llvm-test-suite/build/../utils/compare.py:206: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
  name0 = names[0]
Program                                       size..text                
                                              lhs        rhs       diff 
lencod/lencod                                 763725.00  763725.00  0.0%
mafft/pairlocalalign                          452119.00  452103.00 -0.0%
kimwitu++/kc                                  403971.00  403955.00 -0.0%
tramp3d-v4/tramp3d-v4                         884131.00  884083.00 -0.0%
Bullet/bullet                                 726622.00  726574.00 -0.0%
consumer-typeset/consumer-typeset             442577.00  442529.00 -0.0%
7zip/7zip-benchmark                           907121.00  906945.00 -0.0%
ClamAV/clamscan                               540338.00  540178.00 -0.0%
sqlite3/sqlite3                               490639.00  490447.00 -0.0%
SPASS/SPASS                                   505890.00  505586.00 -0.1%
                           Geomean difference                      -0.0%
          size..text                         
l/r              lhs           rhs       diff
count  10.000000      10.00000      10.000000
mean   611713.300000  611612.50000 -0.000179 
std    190314.056507  190320.06691  0.000195 
min    403971.000000  403955.00000 -0.000601 
25%    461749.000000  461689.00000 -0.000271 
50%    523114.000000  522882.00000 -0.000087 
75%    754449.250000  754437.25000 -0.000043 
max    907121.000000  906945.00000  0.000000
```
and the exec time:
```
Tests: 10
Metric: exec_time

/home/spaits/repo/llvm-test-suite/build/../utils/compare.py:206: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`
  name0 = names[0]
Program                                       exec_time              
                                              lhs       rhs    diff  
sqlite3/sqlite3                                 1.00      1.02   2.5%
ClamAV/clamscan                                 0.05      0.05   2.3%
consumer-typeset/consumer-typeset               0.05      0.05   1.8%
SPASS/SPASS                                     3.42      3.47   1.5%
tramp3d-v4/tramp3d-v4                           0.06      0.06   0.3%
lencod/lencod                                   1.81      1.81   0.2%
Bullet/bullet                                   1.60      1.59  -0.4%
7zip/7zip-benchmark                             4.84      4.80  -0.8%
mafft/pairlocalalign                            8.87      8.77  -1.1%
kimwitu++/kc                                    0.01      0.01 -10.0%
                           Geomean difference                   -0.4%
       exec_time                      
l/r          lhs        rhs       diff
count  10.000000  10.000000  10.000000
mean   2.169180   2.163620  -0.003505 
std    2.856737   2.829455   0.036214 
min    0.009000   0.008100  -0.100000 
25%    0.054050   0.055000  -0.006569 
50%    1.297800   1.307700   0.002756 
75%    3.017175   3.056900   0.016900 
max    8.865500   8.769800   0.025436 

```

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


More information about the llvm-commits mailing list