[PATCH] D79036: [SCCP] Switch to widen at PHIs, stores and call edges.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 29 10:43:36 PDT 2020


fhahn added a comment.

The threshold of 10 for various widenings seems like a good initial value. When using 5, it changes as follows

Same hash: 230 (filtered out)
Remaining: 7
Metric: sccp.IPNumInstRemoved

Program                                        widen-phi.10 widen-phi.5 diff
 test-suite...ce/Benchmarks/PAQ8p/paq8p.test   117.00       112.00      -4.3%
 test-suite...DOE-ProxyApps-C/CoMD/CoMD.test   117.00       116.00      -0.9%
 test-suite...3.xalancbmk/483.xalancbmk.test   4015.00      4008.00     -0.2%
 test-suite...T2006/445.gobmk/445.gobmk.test   1723.00      1721.00     -0.1%
 test-suite.../CINT2000/176.gcc/176.gcc.test   1236.00      1235.00     -0.1%
 test-suite.../CINT2006/403.gcc/403.gcc.test   4024.00      4022.00     -0.0%
 test-suite...-typeset/consumer-typeset.test   3192.00      3193.00      0.0%

When setting to 20, it changes to

Same hash: 235 (filtered out)
Remaining: 2
Metric: sccp.IPNumInstRemoved

Program                                        widen-phi.10 widen-phi.20 diff
 test-suite...marks/SciMark2-C/scimark2.test    43.00        47.00        9.3%
 test-suite...0.perlbench/400.perlbench.test   1727.00      1740.00       0.8%

In terms of compile-time, it seems to have a relatively small negative impact (worst is +0.20%) according to http://llvm-compile-time-tracker.com/compare.php?from=209ab6d8835cd88320ceb814893759cfbda91d15&to=6ab3496169adf3115d3476b1cdde30cc4d0614f1&stat=instructions

Comparing cycles, it looks mostly positive, with  a few -2%+ improvements in compile-time


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79036/new/

https://reviews.llvm.org/D79036





More information about the llvm-commits mailing list