[PATCH] D93762: SCCP: Refactor SCCPSolver

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 31 11:11:36 PDT 2021


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

Applied clang-format.

Could I get some advice what we would like to expose? I looked at the transformation that uses the solvers, and the functions used are:

  addAnalysis
  addToMustPreserveReturnsInFunctions
  AddTrackedFunction
  AddArgumentTrackedFunction
  getConstant
  getStructLatticeValueFor
  getDTU
  getPredicateInfoFor
  getTrackedRetVals
  getMRVFunctionsTracked
  isBlockExecutable
  isArgumentTrackedFunction
  isEdgeFeasible
  isStructLatticeConstant
  MarkBlockExecutable
  markOverdefined
  mustPreserveReturn
  removeLatticeValueFor
  ResolvedUndefsIn
  TrackValueOfGlobalVariable
  solve

These are also the only public function of the class, and looks very reasonable to me.
What  was exactly the idea of exposing less?


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

https://reviews.llvm.org/D93762

Files:
  llvm/include/llvm/Transforms/Scalar/SCCP.h
  llvm/include/llvm/Transforms/Utils/SCCPSolver.h
  llvm/lib/Transforms/Scalar/SCCP.cpp
  llvm/lib/Transforms/Utils/CMakeLists.txt
  llvm/lib/Transforms/Utils/SCCPSolver.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93762.334490.patch
Type: text/x-patch
Size: 124105 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210331/4a426343/attachment-0001.bin>


More information about the llvm-commits mailing list