[PATCH] D93838: [LLVM] [SCCP] : Add Function Specialization pass

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 15 04:05:10 PDT 2021


SjoerdMeijer updated this revision to Diff 337697.
SjoerdMeijer added a comment.

- Rebased
- This now off by default in the pass manager; renamed/introduced option EnableFunctionSpecialization,
- Introduced options for some of the threshold values,
- renamed function-specialize to function-specialization for consistency for the pass option name, test names, etc.
- restrict the number of iterations the solver is run, controllable with an option.

I think this addresses the (minor) comments so far.

Todo:

- For the first versions of this I want to solve the case for e.g. `foo(1,2,3,4)` as remarked in comments, I am looking at this now.
- And I am adding more test cases.


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

https://reviews.llvm.org/D93838

Files:
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LinkAllPasses.h
  llvm/include/llvm/Transforms/IPO.h
  llvm/include/llvm/Transforms/IPO/SCCP.h
  llvm/include/llvm/Transforms/Scalar/SCCP.h
  llvm/include/llvm/Transforms/Utils/SCCPSolver.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/IPO/IPO.cpp
  llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  llvm/lib/Transforms/IPO/SCCP.cpp
  llvm/lib/Transforms/Scalar/SCCP.cpp
  llvm/lib/Transforms/Utils/SCCPSolver.cpp
  llvm/test/Transforms/FunctionSpecialization/function-specialization-recursive.ll
  llvm/test/Transforms/FunctionSpecialization/function-specialization.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93838.337697.patch
Type: text/x-patch
Size: 50555 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210415/4bde061f/attachment.bin>


More information about the llvm-commits mailing list