[PATCH] D140210: [IPSCCP] Enable specialization of functions.

Alexandros Lamprineas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 16 05:22:49 PST 2022


labrinea created this revision.
labrinea added reviewers: chill, SjoerdMeijer, ChuanqiXu, fhahn.
Herald added subscribers: snehasish, ormris, wenlei, steven_wu, hiraditya.
Herald added a project: All.
labrinea requested review of this revision.
Herald added a project: LLVM.

This patch enables Function Specialization by default.

  
  Compilation Time Overhead:
  --------------------------
  Measured the Instruction Count increase (Geomean) for CTMark from
  the llvm-testsuite as in https://llvm-compile-time-tracker.com.
   * {-O3, Non-LTO}: +0.136% Instruction Count
   * {-O3, LTO}: +0.346% Instruction Count
  
  Performance Uplift:
  -------------------
  Measured +9.121% score increase for 505.mcf_r from SPEC Int 2017
  (Tested on Neoverse N1 with -O3 + LTO)
  
  Correctness Testing:
  --------------------
   * Passes bootstrap Clang with ASAN + LTO + FuncSpec aggressive options:
     { MaxClonesThreshold=10,
       SmallFunctionThreshold=10,
       AvgLoopIterationCount=30,
       SpecializeOnAddresses=true,
       EnableSpecializationForLiteralConstant=true,
       FuncSpecializationMaxIters=10 }
   * Builds Chromium and passes its unittests with the above options + ThinLTO.
  
  For more info please refer to
  https://discourse.llvm.org/t/rfc-should-we-enable-function-specialization/61518


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140210

Files:
  llvm/lib/Transforms/IPO/SCCP.cpp
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Other/new-pm-lto-defaults.ll
  llvm/test/Other/new-pm-thinlto-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140210.483498.patch
Type: text/x-patch
Size: 8797 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221216/1df4c393/attachment.bin>


More information about the llvm-commits mailing list