<?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 recursion-compression-pseudoprobe.perfbin</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>bd524955 - [CSSPGO] Undoing the concept of dangling pseudo probe</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin#bd524955</link>
        <description>[CSSPGO] Undoing the concept of dangling pseudo probeAs a follow-up to https://reviews.llvm.org/D104129, I&apos;m cleaning up the danling probe related code in both the compiler and llvm-profgen.I&apos;m seeing a 5% size win for the pseudo_probe section for SPEC2017 and 10% for Ciner. Certain benchmark such as 602.gcc has a 20% size win. No obvious difference seen on build time for SPEC2017 and Cinder.Reviewed By: wenleiDifferential Revision: https://reviews.llvm.org/D104477

            List of files:
            /llvm-project-15.0.7/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin</description>
        <pubDate>Thu, 17 Jun 2021 18:09:13 +0000</pubDate>
        <dc:creator>Hongtao Yu &lt;hoy@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>ac14bb14 - [CSSPGO][llvm-profgen] Compress recursive cycles in calling context</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin#ac14bb14</link>
        <description>[CSSPGO][llvm-profgen] Compress recursive cycles in calling contextThis change compresses the context string by removing cycles due to recursive function for CS profile generation. Removing recursion cycles is a way to normalize the calling context which will be better for the sample aggregation and also make the context promoting deterministic.Specifically for implementation, we recognize adjacent repeated frames as cycles and deduplicated them through multiple round of iteration.For example:Considering a input context string stack:[&#8220;a&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]For first iteration,, it removed all adjacent repeated frames of size 1:[&#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]For second iteration, it removed all adjacent repeated frames of size 2:[&#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]So in the end, we get compressed output:[&#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]Compression will be called in two place: one for sample&apos;s context key right after unwinding, one is for the eventual context string id in the ProfileGenerator.Added a switch `compress-recursion` to control the size of duplicated frames, default -1 means no size limit.Added unit tests and regression test for this.Differential Revision: https://reviews.llvm.org/D93556

            List of files:
            /llvm-project-15.0.7/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin</description>
        <pubDate>Fri, 29 Jan 2021 23:00:08 +0000</pubDate>
        <dc:creator>wlei &lt;wlei@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>0609f257 - [CSSPGO][llvm-profgen] Compress recursive cycles in calling context</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin#0609f257</link>
        <description>[CSSPGO][llvm-profgen] Compress recursive cycles in calling contextThis change compresses the context string by removing cycles due to recursive function for CS profile generation. Removing recursion cycles is a way to normalize the calling context which will be better for the sample aggregation and also make the context promoting deterministic.Specifically for implementation, we recognize adjacent repeated frames as cycles and deduplicated them through multiple round of iteration.For example:Considering a input context string stack:[&#8220;a&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]For first iteration,, it removed all adjacent repeated frames of size 1:[&#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]For second iteration, it removed all adjacent repeated frames of size 2:[&#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]So in the end, we get compressed output:[&#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221;, &#8220;d&#8221;]Compression will be called in two place: one for sample&apos;s context key right after unwinding, one is for the eventual context string id in the ProfileGenerator.Added a switch `compress-recursion` to control the size of duplicated frames, default -1 means no size limit.Added unit tests and regression test for this.Differential Revision: https://reviews.llvm.org/D93556

            List of files:
            /llvm-project-15.0.7/llvm/test/tools/llvm-profgen/Inputs/recursion-compression-pseudoprobe.perfbin</description>
        <pubDate>Fri, 29 Jan 2021 23:00:08 +0000</pubDate>
        <dc:creator>wlei &lt;wlei@fb.com&gt;</dc:creator>
    </item>
</channel>
</rss>
