[PATCH] D30053: Add function importing info from samplepgo profile to the module summary.

Dehao Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 16 15:05:46 PST 2017


danielcdh added inline comments.


================
Comment at: lib/Analysis/ModuleSummaryAnalysis.cpp:188
+    CallGraphEdges[I].updateHotness(CalleeInfo::HotnessType::Hot);
+
   bool NonRenamableLocal = isNonRenamableLocal(F);
----------------
mehdi_amini wrote:
> I'm still unsure why we need this side channel to communicate the hotness, while we have above already some infrastructure? Why isn't samplePGO integrate in the general PGO infrastructure?
The root cause is the profile annotation mechanism is different.

SamplePGO needs to make sure that before profile annotation, the IR resembles the hot portion of the profiling binary. As a result, we need to explicitly inline functions before profile annotation. But in order to inline, we need to first have it imported.

I can go into more details with an example if you want. Please let me know.


https://reviews.llvm.org/D30053





More information about the llvm-commits mailing list