<?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 entry-value-complex-reg-expr.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>1575583f - [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#1575583f</link>
        <description>[LiveDebugValues][InstrRef][2/2] Emit entry value variable locationsThis patch adds support to the instruction-referencing LiveDebugValuesimplementation for emitting entry values. The instruction referencingimplementations tracking by value rather than location means that we canget around two of the issues with VarLocs. DBG_VALUE instructions thatre-assign the same value to a variable are no longer a problem, because wecan &quot;see through&quot; to the value being assigned. We also don&apos;t need to doanything special during the dataflow stages: the &quot;variable value problem&quot;doesn&apos;t need to know whether a value is available most of the time, and thetimes it deoes need to know are always when entry values need to beterminated.The patch modifies the &quot;TransferTracker&quot; class, adding methods to identifywhen a variable ias an entry value candidate, and when a machine value isan entry value. recoverAsEntryValue tests these two things and emits anentry-value expression if they&apos;re true. It&apos;s used when we clobber orotherwise lose a value and can&apos;t find a replacement location for the valueit contained.Differential Revision: https://reviews.llvm.org/D88406

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Wed, 30 Jun 2021 16:48:19 +0000</pubDate>
        <dc:creator>Jeremy Morse &lt;jeremy.morse@sony.com&gt;</dc:creator>
    </item>
<item>
        <title>85460c4e - [DebugInfo] Do not emit entry values for composite locations</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#85460c4e</link>
        <description>[DebugInfo] Do not emit entry values for composite locationsSummary:This is a fix for PR45009.When working on D67492 I made DwarfExpression emit a singleDW_OP_entry_value operation covering the whole composite locationdescription that is produced if a register does not have a valid DWARFnumber, and is instead composed of multiple register pieces. Lookingcloser at the standard, this appears to not be valid DWARF. ADW_OP_entry_value operation&apos;s block can only be a DWARF expression or aregister location description, so it appears to not be valid for it tohold a composite location description like that.See DWARFv5 sec. 2.5.1.7:&quot;The DW_OP_entry_value operation pushes the value that the described location held upon entering the current subprogram. It has two operands: an unsigned LEB128 length, followed by a block containing a DWARF expression or a register location description (see Section 2.6.1.1.3 on page 39).&quot;Here is a dwarf-discuss mail thread regarding this:http://lists.dwarfstd.org/pipermail/dwarf-discuss-dwarfstd.org/2020-March/004610.htmlThere was not a strong consensus reached there, but people seem to leantowards that operations specified under 2.6 (e.g. DW_OP_piece) may notbe part of a DWARF expression, and thus the DW_OP_entry_value operationcan&apos;t contain those.Perhaps we instead want to emit a entry value operation per eachDW_OP_reg* operation, e.g.:  - DW_OP_entry_value(DW_OP_regx sub_reg0),    DW_OP_stack_value,    DW_OP_piece 8,  - DW_OP_entry_value(DW_OP_regx sub_reg1),    DW_OP_stack_value,    DW_OP_piece 8,  [...]The question then becomes how the call site should look; should acomposite location description be emitted there, and we then leave it upto the debugger to match those two composite location descriptions?Another alternative could be to emit a call site parameter entry foreach sub-register, but firstly I&apos;m unsure if that is even valid DWARF,and secondly it seems like that would complicate the collection of callsite values quite a bit. As far as I can tell GCC does not emit anyentry values / call sites in these cases, so we do not have something tocompare with, but the former seems like the more reasonable approach.Currently when trying to emit a call site entry for a parameter composedof multiple DWARF registers a (DwarfRegs.size() == 1) assert istriggered in addMachineRegExpression(). Until the call siterepresentation is figured out, and until there is use for these entryvalues in practice, this commit simply stops the invalid DWARF frombeing emitted.Reviewers: djtodoro, vsk, aprantlReviewed By: djtodoro, vskSubscribers: jyknight, hiraditya, fedor.sergeev, jrtc27, llvm-commitsTags: #debug-info, #llvmDifferential Revision: https://reviews.llvm.org/D75270

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Wed, 01 Jul 2020 07:45:56 +0000</pubDate>
        <dc:creator>David Stenberg &lt;david.stenberg@ericsson.com&gt;</dc:creator>
    </item>
<item>
        <title>2f215cf3 - Revert &quot;Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#2f215cf3</link>
        <description>Revert &quot;Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;&quot;This reverts commit rGfaff707db82d.A failure found on an ARM 2-stage buildbot.The investigation is needed.

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Thu, 20 Feb 2020 12:43:01 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>faff707d - Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#faff707d</link>
        <description>Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;Differential Revision: https://reviews.llvm.org/D73534

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Wed, 19 Feb 2020 09:17:52 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>2bf44d11 - Revert &quot;Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#2bf44d11</link>
        <description>Revert &quot;Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;&quot;This reverts commit rGa82d3e8a6e67.

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Tue, 18 Feb 2020 15:37:16 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>a82d3e8a - Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#a82d3e8a</link>
        <description>Reland &quot;[DebugInfo] Enable the debug entry values feature by default&quot;This patch enables the debug entry values feature.  - Remove the (CC1) experimental -femit-debug-entry-values option  - Enable it for x86, arm and aarch64 targets  - Resolve the test failures  - Leave the llc experimental option for targets that do not    support the CallSiteInfo yetDifferential Revision: https://reviews.llvm.org/D73534

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Tue, 18 Feb 2020 12:27:25 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>97ed706a - Revert &quot;[DebugInfo] Enable the debug entry values feature by default&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#97ed706a</link>
        <description>Revert &quot;[DebugInfo] Enable the debug entry values feature by default&quot;This reverts commit rG9f6ff07f8a39.Found a test failure on clang-with-thin-lto-ubuntu buildbot.

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Wed, 12 Feb 2020 10:54:29 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>9f6ff07f - [DebugInfo] Enable the debug entry values feature by default</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#9f6ff07f</link>
        <description>[DebugInfo] Enable the debug entry values feature by defaultThis patch enables the debug entry values feature.  - Remove the (CC1) experimental -femit-debug-entry-values option  - Enable it for x86, arm and aarch64 targets  - Resolve the test failures  - Leave the llc experimental option for targets that do not    support the CallSiteInfo yetDifferential Revision: https://reviews.llvm.org/D73534

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Mon, 10 Feb 2020 10:06:44 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>979592a6 - [DebugInfo] Remove the DIFlagArgumentNotModified debug info flag</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#979592a6</link>
        <description>[DebugInfo] Remove the DIFlagArgumentNotModified debug info flagDue to changes in D68206, we remove the DIFlagArgumentNotModifiedand its usage.Differential Revision: https://reviews.llvm.org/D68207

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Wed, 20 Nov 2019 11:20:53 +0000</pubDate>
        <dc:creator>Djordje Todorovic &lt;djordje.todorovic@rt-rk.com&gt;</dc:creator>
    </item>
<item>
        <title>1ae2d9a2 - [DebugInfo] Add a DW_OP_LLVM_entry_value operation</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll#1ae2d9a2</link>
        <description>[DebugInfo] Add a DW_OP_LLVM_entry_value operationSummary:Internally in LLVM&apos;s metadata we use DW_OP_entry_value operations withthe same semantics as DWARF; that is, its operand specifies the numberof bytes that the entry value covers.At the time of emitting entry values we don&apos;t know the emitted size ofthe DWARF expression that the entry value will cover. Currently the sizeis hardcoded to 1 in DIExpression, and other values causes the verifierto fail. As the size is 1, that effectively means that we can only havevalid entry values for registers that can be encoded in one byte, whichare the registers with DWARF numbers 0 to 31 (as they can be encoded assingle-byte DW_OP_reg0..DW_OP_reg31 rather than a multi-byteDW_OP_regx). It is a bit confusing, but it seems like llvm-dwarfdumpwill print an operation &quot;correctly&quot;, even if the byte size is less thanthat, which may make it seem that we emit correct DWARF for registerswith DWARF numbers &gt; 31. If you instead use readelf for such cases, itwill interpret the number of specified bytes as a DWARF expression. Thisseems like a limitation in llvm-dwarfdump.As suggested in D66746, a way forward would be to add an internalvariant of DW_OP_entry_value, DW_OP_LLVM_entry_value, whose operandinstead specifies the number of operations that the entry value covers,and we then translate that into the byte size at the time of emission.In this patch that internal operation is added. This patch keeps thelimitation that a entry value can only be applied to simple registerlocations, but it will fix the issue with the size operand beingincorrect for DWARF numbers &gt; 31.Reviewers: aprantl, vsk, djtodoro, NikolaPricaReviewed By: aprantlSubscribers: jyknight, fedor.sergeev, hiraditya, llvm-commitsTags: #debug-info, #llvmDifferential Revision: https://reviews.llvm.org/D67492llvm-svn: 374881

            List of files:
            /llvm-project-15.0.7/llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll</description>
        <pubDate>Tue, 15 Oct 2019 11:31:21 +0000</pubDate>
        <dc:creator>David Stenberg &lt;david.stenberg@ericsson.com&gt;</dc:creator>
    </item>
</channel>
</rss>
