[llvm-dev] [ThinLTO] Importing based on PGO data

Teresa Johnson via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 2 15:11:28 PDT 2016

On Fri, Sep 2, 2016 at 2:58 PM, Piotr Padlewski <piotr.padlewski at gmail.com>

> Hi,
> I am working right now on importing based on PGO/FDO data. There is one
> issue that I found - when we calculate the list of imports, we can't get
> the ProfileSummaryInfo, which is the best and I
> think only valid way of checking if callsite/callee is hot (isHotCount()).
> There are 2 solutions that I come up with Teresa and Easwaran:
> 1. Add PGO data to summary

How much PGO data would need to be copied to summary?

> 2. Replace CalleeInfo::ProfileCount with enum {None, Cold, Hot} computed
> during computing summary.

It depends on how binary the inlining decisions that (will) use this are -
do we want to give different thresholds to medium hot/cold vs very hot/cold?

> I like the 2. much more. It will reduce the summary size slightly and I
> don't think we will need ProfileCount anywhere else.
> The other thing I would like to mention is that I think we should start
> using the summary versioning and drop support of old version.
> ThinLTO doesn't have enough users right now and parsing many versions of
> summary will just add additional cost, that will start to grow.

It was released in 3.9 and in Xcode so it has external users and I believe
will need to support old versions going forward.


> Piotr

Teresa Johnson |  Software Engineer |  tejohnson at google.com |  408-460-2413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160902/e3d7648c/attachment.html>

More information about the llvm-dev mailing list