llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
26.78k stars 10.97k forks source link

[gvnsink] evaluate impact of gvnsink optimization #94832

Open hiraditya opened 4 weeks ago

hiraditya commented 4 weeks ago

Following up from https://discourse.llvm.org/t/rfc-what-are-the-blockers-to-turning-on-gvnsink-by-default/72326. Before asking for review we should measure the impact of this optimization at various opt levels (-O2, -O3, -Os, -Oz)

hiraditya commented 3 weeks ago

At -Os $ utils/compare.py --filter-short -m gvn-sink.NumRemoved test-suite-Os-gvnsink.cmake/results.json

Program                                       gvn-sink.NumRemoved
                                              results
Applications/JM/lencod/lencod                 2191.00
Applications/kimwitu++/kc                     1573.00    
Benchmarks/7zip/7zip-benchmark                1169.00    
Applications/ClamAV/clamscan                  1087.00    
Benchmarks...sumer-typeset/consumer-typeset    975.00    
Applications/SPASS/SPASS                       925.00    
Benchmarks/Bullet/bullet                       912.00    
Applications/d/make_dparser                    899.00    
Applications/JM/ldecod/ldecod                  895.00    
Benchmarks.../DOE-ProxyApps-C++/CLAMR/CLAMR    706.00    
Benchmarks...gs-C/TimberWolfMC/timberwolfmc    593.00    
Applications/sqlite3/sqlite3                   370.00    
Benchmarks.../mediabench/jpeg/jpeg-6a/cjpeg    348.00    
Benchmarks...ch/consumer-jpeg/consumer-jpeg    339.00    
Benchmarks/mafft/pairlocalalign                274.00    
hiraditya commented 3 weeks ago

At -Oz

rogram                                       gvn-sink.NumRemoved
                                              results    
Applications/JM/lencod/lencod                 2187.00    
Applications/kimwitu++/kc                     1537.00    
Benchmarks/7zip/7zip-benchmark                1246.00    
Applications/ClamAV/clamscan                  1059.00    
Benchmarks...sumer-typeset/consumer-typeset    926.00    
Applications/JM/ldecod/ldecod                  895.00    
Applications/d/make_dparser                    887.00    
Benchmarks/Bullet/bullet                       873.00    
Benchmarks.../DOE-ProxyApps-C++/CLAMR/CLAMR    842.00    
Applications/SPASS/SPASS                       756.00    
Benchmarks...gs-C/TimberWolfMC/timberwolfmc    565.00    
Benchmarks.../mediabench/jpeg/jpeg-6a/cjpeg    342.00
Benchmarks...ch/consumer-jpeg/consumer-jpeg    339.00
Applications/sqlite3/sqlite3                   316.00
Benchmarks/mafft/pairlocalalign                274.00
hiraditya commented 1 week ago

Maybe useful to collect numbers for chromium, firefox