[PATCH] D150375: [FuncSpec] Replace LoopInfo with BlockFrequencyInfo.

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 26 02:26:37 PDT 2023


bjope added a comment.

Maybe this is what is needed:

  diff --git a/llvm/lib/Transforms/IPO/SCCP.cpp b/llvm/lib/Transforms/IPO/SCCP.cpp
  index 21b89ce4de40..e5a940f83311 100644
  --- a/llvm/lib/Transforms/IPO/SCCP.cpp
  +++ b/llvm/lib/Transforms/IPO/SCCP.cpp
  @@ -394,9 +394,10 @@ PreservedAnalyses IPSCCPPass::run(Module &M, ModuleAnalysisManager &AM) {
     };
     auto getAnalysis = [&FAM](Function &F) -> AnalysisResultsForFn {
       DominatorTree &DT = FAM.getResult<DominatorTreeAnalysis>(F);
  +    PostDominatorTree &PDT = FAM.getResult<PostDominatorTreeAnalysis>(F);
       return {
           std::make_unique<PredicateInfo>(F, DT, FAM.getResult<AssumptionAnalysis>(F)),
  -        &DT, FAM.getCachedResult<PostDominatorTreeAnalysis>(F) };
  +        &DT, &PDT };
     };
   
     if (!runIPSCCP(M, DL, &FAM, GetBFI, GetTLI, GetTTI, GetAC, getAnalysis,

By providing a mutable PDT, IPSCCP+solver would end up updating the PDT when doing changes?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150375



More information about the llvm-commits mailing list