[PATCH] D99351: [CSSPGO] Top-down processing order based on full profile.

Wenlei He via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 29 10:10:30 PDT 2021


wenlei added a comment.

The ProfiledCallGraph change D99146 <https://reviews.llvm.org/D99146> is in, now some adjustment is needed here.



================
Comment at: llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h:43
   using iterator = std::set<ProfiledCallGraphNode *>::iterator;
+  ProfiledCallGraph() {}
+
----------------
I think we can let ProfiledCallGraph take over the responsibility of graph building, for both autofdo and csspgo. We could do this through two separate ctor, or a common ctor plus two "build graph" helpers. 


================
Comment at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:34
 
+namespace sampleprof {
+class ProfiledCallGraph;
----------------
With graph building all moving into ProfileCallGraph, we can avoid referencing ProfiledCallGraph in context tracker. Basically SampleContextTracker::addProfiledCallEdges can be removed?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99351



More information about the llvm-commits mailing list