<?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 cfi-basic-block-sections-1.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>2f448bf5 - [X86] Migrate tests to use opaque pointers (NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll#2f448bf5</link>
        <description>[X86] Migrate tests to use opaque pointers (NFC)Test updates were performed using:https://gist.github.com/nikic/98357b71fd67756b0f064c9517b62a34These are only the test updates where the test passed withoutfurther modification (which is almost all of them, as the backendis largely pointer-type agnostic).

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll</description>
        <pubDate>Wed, 22 Jun 2022 12:33:12 +0000</pubDate>
        <dc:creator>Nikita Popov &lt;npopov@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>34e70d72 - Append &quot;.__part.&quot; to every basic block section symbol.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll#34e70d72</link>
        <description>Append &quot;.__part.&quot; to every basic block section symbol.Every basic block section symbol created by -fbasic-block-sections will contain&quot;.__part.&quot; to know that this symbol corresponds to a basic block fragment ofthe function.This patch solves two problems:a) Like D89617, we want function symbols with suffixes to be properly qualified   so that external tools like profile aggregators know exactly what this   symbol corresponds to.b) The current basic block naming just adds a &quot;.N&quot; to the symbol name where N is   some integer. This collides with how clang creates __cxx_global_var_init.N.   clang creates these symbol names to call constructor functions and basic   block symbol naming should not use the same style.Fixed all the test cases and added an extra test for __cxx_global_var_initbreakage.Differential Revision: https://reviews.llvm.org/D93082

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll</description>
        <pubDate>Wed, 23 Dec 2020 17:51:35 +0000</pubDate>
        <dc:creator>Sriraman Tallam &lt;tmsriram@google.com&gt;</dc:creator>
    </item>
<item>
        <title>ca6b6d40 - Rename basic block sections options to be consistent.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll#ca6b6d40</link>
        <description>Rename basic block sections options to be consistent.D68049 created options for basic block sections: -fbasic-block-sections=,-funique-basic-block-section-names. Rename options in llc and lld (--lto-)to be consistent. Specifically,+ Rename basicblock-sections to basic-block-sections+ Rename unique-bb-section-names to unique-basic-block-section-namesDifferential Revision: https://reviews.llvm.org/D84462

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll</description>
        <pubDate>Fri, 31 Jul 2020 18:14:49 +0000</pubDate>
        <dc:creator>Sriraman Tallam &lt;tmsriram@google.com&gt;</dc:creator>
    </item>
<item>
        <title>c3e65556 - Call Frame Information (CFI) Handling for Basic Block Sections</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll#c3e65556</link>
        <description>Call Frame Information (CFI) Handling for Basic Block SectionsThis patch handles CFI with basic block sections, which unlike DebugInfo doesnot support ranges. The DWARF standard explicitly requires emitting separateCFI Frame Descriptor Entries for each contiguous fragment of a function. Thus,the CFI information for all callee-saved registers (possibly including theframe pointer, if necessary) have to be emitted along with redefining theCall Frame Address (CFA), viz. where the current frame starts.CFI directives are emitted in FDE&#8217;s in the object file with a low_pc, high_pcspecification. So, a single FDE must point to a contiguous code region unlikedebug info which has the support for ranges. This is what complicates CFI forbasic block sections.Now, what happens when we start placing individual basic blocks in uniquesections:* Basic block sections allow the linker to randomly reorder basic blocks in theaddress space such that a given basic block can become non-contiguous with theoriginal function.* The different basic block sections can no longer share the cfi_startproc andcfi_endproc directives. So, each basic block section should emit thisindependently.* Each (cfi_startproc, cfi_endproc) directive will result in a new FDE thatcaters to that basic block section.* Now, this basic block section needs to duplicate the information from theentry block to compute the CFA as it is an independent entity. It cannot referto the FDE of the original function and hence must duplicate all the stuff thatis needed to compute the CFA on its own.* We are working on a de-duplication patch that can share common information inFDEs in a CIE (Common Information Entry) and we will present this as a follow uppatch. This can significantly reduce the duplication overhead and isparticularly useful when several basic block sections are created.* The CFI directives are emitted similarly for registers that are pushed ontothe stack, like callee saved registers in the prologue. There are cfidirectives that emit how to retrieve the value of the register at that pointwhen the push happened. This has to be duplicated too in a basic block that isfloated as a separate section.Differential Revision: https://reviews.llvm.org/D79978

            List of files:
            /llvm-project-15.0.7/llvm/test/CodeGen/X86/cfi-basic-block-sections-1.ll</description>
        <pubDate>Tue, 14 Jul 2020 18:55:41 +0000</pubDate>
        <dc:creator>Krzysztof Pszeniczny &lt;krzysztof.pszeniczny@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
