[PATCH] D147013: [CSSPGO][Preinliner] Trim cold call edges of the profiled call graph for a more stable profile generation.

Wenlei He via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 27 18:04:55 PDT 2023


wenlei added inline comments.


================
Comment at: llvm/include/llvm/Transforms/IPO/ProfiledCallGraph.h:67
   // Constructor for non-CS profile.
-  ProfiledCallGraph(SampleProfileMap &ProfileMap) {
+  ProfiledCallGraph(SampleProfileMap &ProfileMap, uint64_t TrimThreshold = 0) {
     assert(!FunctionSamples::ProfileIsCS &&
----------------
nit: `IgnoreColdCallThreshold`


================
Comment at: llvm/tools/llvm-profgen/CSPreInliner.cpp:84
+      (Summary->getDetailedSummary()));
+  ProfiledCallGraph ProfiledCG(ContextTracker, ColdCountThreshold + 1);
 
----------------
why is +1 needed? if cold threshold is 0, nothing is cold, and we filter out nothing -- it just works? 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147013



More information about the llvm-commits mailing list