[PATCH] D41604: Add a pass to generate synthetic function entry counts.
Easwaran Raman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 4 16:58:55 PST 2018
eraman marked 4 inline comments as done.
eraman added inline comments.
================
Comment at: include/llvm/IR/Function.h:256
+ /// will execute.
+ Optional<uint64_t> getSyntheticEntryCount() const;
+
----------------
davidxl wrote:
> eraman wrote:
> > davidxl wrote:
> > > Is it better to let getEntryCount to take an optional flag to indicate 'is_synthetic'? The implementation of these two are mostly the same.
> > I actually intended to remove this but this slipped in. I have a follow up patch that makes EntryCount a class and make the getEntryCount return it. Using a boolean for synthetic feels brittle. Shall I remove this get method?
> The new interface that returns EntryCount seems a better approach. Yes, if you can unify the interfaces, this one should be removed. You can do it in two steps -- one takes the boolean flag, and then improved with a follow up patch.
This patch doesn't read the synthetic entry count and hence I am just removing the getSyntheticEntryCount from this. I will leave the boolean on the setEntryCount and in the next patch add an EntryCount class.
================
Comment at: lib/Analysis/SyntheticCountsUtils.cpp:64
+ // traversal of functions within the SCC doesn't affect the computation.
+ DenseMap<Function *, uint64_t> PropagatedCounts;
+ for (auto It = CallSites.begin(); It != Mid; It++) {
----------------
davidxl wrote:
> PropagatedCounts --> ExtraSCCEntryCountFromCycles ? or just ExtraSCCEntryCounts?
>
> Also modify the comments to say:
> 1) first update the global count of nodes with SCC using cyclic edges first.
> 2) the update is done in two steps ..
I have modified the comments along the lines of what you say. I have renamed the variable to AdditionalCounts - I prefer this to your other suggestions.
https://reviews.llvm.org/D41604
More information about the llvm-commits
mailing list