<?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 comdat.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>9ab9a959 - [InstrProfiling] Keep profd non-private for non-renamable comdat functions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/comdat.ll#9ab9a959</link>
        <description>[InstrProfiling] Keep profd non-private for non-renamable comdat functionsThe NS==0 condition used by D103717 missed a corner case: if the current copydoes not have a hash suffix (e.g. weak_odr), a copy with value profiling (with adifferent CFG) may exist. This is super rare, but is possible with pre-inliningPGO instrumentation (which can make a weak_odr function inlines its calleesdifferently, sometimes with value profiling while sometimes without).If the current copy with private profd is prevailing, the non-prevailing copymay get an undefined symbol if a caller inlining the non-prevailing functionreferences its profd. If the other copy with non-private profd is prevailing,the current copy may cause a &quot;relocation to discarded section&quot; linker error.The fix is straightforward: just keep non-private profd in such a `DataReferencedByCode` case.With this change, a stage 2 (`-DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_INSTRUMENTED=IR`)clang is 0.08% larger (172431496/172286720-1).`stat -c %s **/*.o | awk &apos;{s+=$1}END{print s}&apos; is 0.026% larger.The majority of D103717&apos;s benefits remains.Reviewed By: xurDifferential Revision: https://reviews.llvm.org/D108432

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/comdat.ll</description>
        <pubDate>Wed, 25 Aug 2021 03:14:02 +0000</pubDate>
        <dc:creator>Fangrui Song &lt;i@maskray.me&gt;</dc:creator>
    </item>
<item>
        <title>32e2326c - Revert D108432 &quot;[InstrProfiling] Keep profd non-private for non-renamable comdat functions&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/comdat.ll#32e2326c</link>
        <description>Revert D108432 &quot;[InstrProfiling] Keep profd non-private for non-renamable comdat functions&quot;This reverts commit f653beea88d2684cdc8117e662b321ba04666771.It broke Windows coverage-inline.cpp because link.exe has a limitationthat external symbols in IMAGE_COMDAT_SELECT_ASSOCIATIVE don&apos;t work.It essentially dropped the previous size optimization for coveragebecause coverage doesn&apos;t rename comdat by default.Needs more investigation what we should do.

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/comdat.ll</description>
        <pubDate>Wed, 25 Aug 2021 02:16:07 +0000</pubDate>
        <dc:creator>Fangrui Song &lt;i@maskray.me&gt;</dc:creator>
    </item>
<item>
        <title>f653beea - [InstrProfiling] Keep profd non-private for non-renamable comdat functions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/comdat.ll#f653beea</link>
        <description>[InstrProfiling] Keep profd non-private for non-renamable comdat functionsThe NS==0 condition used by D103717 missed a corner case: if the current copydoes not have a hash suffix (e.g. weak_odr), a copy with value profiling (with adifferent CFG) may exist. This is super rare, but is possible with pre-inliningPGO instrumentation (which can make a weak_odr function inlines its calleesdifferently, sometimes with value profiling while sometimes without).If the current copy with private profd is prevailing, the non-prevailing copymay get an undefined symbol if a caller inlining the non-prevailing functionreferences its profd. If the other copy with non-private profd is prevailing,the current copy may cause a &quot;relocation to discarded section&quot; linker error.The fix is straightforward: just keep non-private profd in this case.With this change, a stage 2 (`-DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_BUILD_INSTRUMENTED=IR`)clang is 0.08% larger (172431496/172286720-1).`stat -c %s **/*.o | awk &apos;{s+=$1}END{print s}&apos; is 0.026% larger.The majority of D103717&apos;s benefits remains.Reviewed By: xurDifferential Revision: https://reviews.llvm.org/D108432

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/PGOProfile/comdat.ll</description>
        <pubDate>Tue, 24 Aug 2021 22:59:35 +0000</pubDate>
        <dc:creator>Fangrui Song &lt;i@maskray.me&gt;</dc:creator>
    </item>
</channel>
</rss>
