<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in mix_sample.proftext</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>a23f6234 - Supplement instr profile with sample profile.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/tools/llvm-profdata/Inputs/mix_sample.proftext#a23f6234</link>
        <description>Supplement instr profile with sample profile.PGO profile is usually more precise than sample profile. However, PGO profileneeds to be collected from loadtest and loadtest may not be representativeenough to the production workload. Sample profile collected from productioncan be used as a supplement -- for functions cold in loadtest but warm/hotin production, we can scale up the related function in PGO profile if thefunction is warm or hot in sample profile.The implementation contains changes in compiler side and llvm-profdata side.Given an instr profile and a sample profile, for a function cold in PGOprofile but warm/hot in sample profile, llvm-profdata will either markall the counters in the profile to be -1 or scale up the max count in thefunction to be above hot threshold, depending on the zero counter ratio inthe profile. The assumption is if there are too many counters being zeroin the function profile, the profile is more likely to cause harm than good,then llvm-profdata will mark all the counters to be -1 indicating thefunction is hot but the profile is unaccountable. In compiler side, if afunction profile with all -1 counters is seen, the function entry count willbe set to be above hot threshold but its internal profile will be dropped.In the long run, it may be useful to let compiler support using PGO profileand sample profile at the same time, but that requires more careful designand more substantial changes to make two profiles work seamlessly. The patchhere serves as a simple intermediate solution.Differential Revision: https://reviews.llvm.org/D81981

            List of files:
            /llvm-project-15.0.7/llvm/test/tools/llvm-profdata/Inputs/mix_sample.proftext</description>
        <pubDate>Wed, 08 Jul 2020 22:19:44 +0000</pubDate>
        <dc:creator>Wei Mi &lt;wmi@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
