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

Alexandros Lamprineas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 19 07:28:03 PST 2022


labrinea added a comment.

@nikic can you share the configuration where you see the 50% increase of codesize in `terminator.c` (which optimization pipeline)? Since it is an intermediate object file I presume the specialization happens during the compilation phase, not when linking. When I build CTMark with Full LTO and debug output I am seeing:

  During compilation
  ------------------
  FnSpecialization: Specialized 1 functions in module test-suite/CTMark/SPASS/terminator.c of size 117
  FnSpecialization: Specialized 5 functions in module test-suite/CTMark/ClamAV/libclamav_message.c of size 113
  FnSpecialization: Specialized 1 functions in module test-suite/CTMark/SPASS/rules-inf.c of size 274
  FnSpecialization: Specialized 1 functions in module test-suite/CTMark/sqlite3/sqlite3.c of size 1101
  
  During linking
  --------------
  FnSpecialization: Specialized 1 functions in module ld-temp.o of size 675 (ClamAV)
  FnSpecialization: Specialized 1 functions in module ld-temp.o of size 603 (sqlite3)
  FnSpecialization: Specialized 3 functions in module ld-temp.o of size 605 (lencod)

Size here means number of functions in the module.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140210



More information about the llvm-commits mailing list