<?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 DWARFDie.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>84960896 - Remove unnecessary braces</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#84960896</link>
        <description>Remove unnecessary braces

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Fri, 08 Jul 2022 21:37:24 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>ac6df7fc - llvm-dwarfdump: Don&apos;t crash if DW_AT_{decl,call}_{file,line} uses signed form</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#ac6df7fc</link>
        <description>llvm-dwarfdump: Don&apos;t crash if DW_AT_{decl,call}_{file,line} uses signed formThe DWARF spec says: Any debugging information entry representing the declaration of an object, module, subprogram or type may have DW_AT_decl_file, DW_AT_decl_line and DW_AT_decl_column attributes, each of whose value is an unsigned integer							 ^^^^^^^^ constant.If however, a producer happens to emit DW_AT_decl_file /DW_AT_decl_line using a signed integer form, llvm-dwarfdump crashes,like so:     (... snip ...)     0x000000b4:   DW_TAG_structure_type                     DW_AT_name      (&quot;test_struct&quot;)                     DW_AT_byte_size (136)                     DW_AT_decl_file (llvm-dwarfdump: (... snip ...)/llvm/include/llvm/ADT/Optional.h:197: T&amp; llvm::optional_detail::OptionalStorage&lt;T, true&gt;::getValue() &amp; [with T = long unsigned int]: Assertion `hasVal&apos; failed.     PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.     Stack dump:     0.      Program arguments: /opt/rocm/llvm/bin/llvm-dwarfdump ./testsuite/outputs/gdb.rocm/lane-pc-vega20/lane-pc-vega20-kernel.so      #0 0x000055cc8e78315f PrintStackTraceSignalHandler(void*) Signals.cpp:0:0      #1 0x000055cc8e780d3d SignalHandler(int) Signals.cpp:0:0      #2 0x00007f8f2cae8420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)      #3 0x00007f8f2c58d00b raise /build/glibc-SzIz7B/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1      #4 0x00007f8f2c56c859 abort /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81:7      #5 0x00007f8f2c56c729 get_sysdep_segment_value /build/glibc-SzIz7B/glibc-2.31/intl/loadmsgcat.c:509:8      #6 0x00007f8f2c56c729 _nl_load_domain /build/glibc-SzIz7B/glibc-2.31/intl/loadmsgcat.c:970:34      #7 0x00007f8f2c57dfd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)      #8 0x000055cc8e58ceb9 llvm::DWARFDie::dump(llvm::raw_ostream&amp;, unsigned int, llvm::DIDumpOptions) const (/opt/rocm/llvm/bin/llvm-dwarfdump+0x2e0eb9)      #9 0x000055cc8e58bec3 llvm::DWARFDie::dump(llvm::raw_ostream&amp;, unsigned int, llvm::DIDumpOptions) const (/opt/rocm/llvm/bin/llvm-dwarfdump+0x2dfec3)     #10 0x000055cc8e5b28a3 llvm::DWARFCompileUnit::dump(llvm::raw_ostream&amp;, llvm::DIDumpOptions) (.part.21) DWARFCompileUnit.cpp:0:0Likewise with DW_AT_call_file / DW_AT_call_line.The problem is that the code in llvm/lib/DebugInfo/DWARF/DWARFDie.cppdumping these attributes assumes thatFormValue.getAsUnsignedConstant() returns an armed optional.  If indebug mode, we get an assertion line the above.  If in release mode,and asserts are compiled out, then we proceed as if the optional had avalue, running into undefined behavior, printing whatever randomvalue.Fix this by checking whether the optional returned byFormValue.getAsUnsignedConstant() has a value, like done in otherplaces.In addition, DWARFVerifier.cpp is validating DW_AT_call_file /DW_AT_decl_file, but not AT_call_line / DW_AT_decl_line.  This commitfixes that too.The llvm-dwarfdump/X86/verify_file_encoding.yaml testcase is extendedto cover these cases.  Current llvm-dwarfdump crashes running thenewly-extended test.&quot;make check-llvm-tools-llvm-dwarfdump&quot; shows no regressions, on x86-64GNU/Linux.Reviewed By: dblaikieDifferential Revision: https://reviews.llvm.org/D129392

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Fri, 08 Jul 2022 21:15:52 +0000</pubDate>
        <dc:creator>Pedro Alves &lt;pedro@palves.net&gt;</dc:creator>
    </item>
<item>
        <title>27fd01d3 - [iwyu] Handle regressions in libLLVM header include</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#27fd01d3</link>
        <description>[iwyu] Handle regressions in libLLVM header includeRunning iwyu-diff on LLVM codebase since fb67d683db46dfd88da09d99 detected a fewregressions, fixing them.The impact on preprocessed output is negligible: -4k lines.

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 22 Jun 2022 14:20:21 +0000</pubDate>
        <dc:creator>serge-sans-paille &lt;sguelton@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>7a47ee51 - [llvm] Don&apos;t use Optional::getValue (NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#7a47ee51</link>
        <description>[llvm] Don&apos;t use Optional::getValue (NFC)

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Tue, 21 Jun 2022 05:45:45 +0000</pubDate>
        <dc:creator>Kazu Hirata &lt;kazu@google.com&gt;</dc:creator>
    </item>
<item>
        <title>129b531c - [llvm] Use value_or instead of getValueOr (NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#129b531c</link>
        <description>[llvm] Use value_or instead of getValueOr (NFC)

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Sun, 19 Jun 2022 06:07:11 +0000</pubDate>
        <dc:creator>Kazu Hirata &lt;kazu@google.com&gt;</dc:creator>
    </item>
<item>
        <title>c20381b2 - llvm-dwarf-dump: include type name for AT_containing_type</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#c20381b2</link>
        <description>llvm-dwarf-dump: include type name for AT_containing_typeType attributes are currently printed as:  DW_AT_type    (&lt;address&gt; &quot;&lt;name&gt;&quot;)For example:  DW_AT_type    (0x00000086 &quot;double&quot;)However, containing_type attributes omit the name, for example:  DW_AT_containing_type    (0x00000086)In order to make the dwarf dumps easier to read, and to have consistencybetween the type-like attributes, this commit changes the wayDW_AT_containing_type is printed so that it includes the name of thetype it refers to:  DW_AT_containing_type    (0x00000086 &quot;double&quot;)Reviewed By: dblaikieDifferential Revision: https://reviews.llvm.org/D127078

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Sat, 18 Jun 2022 00:48:40 +0000</pubDate>
        <dc:creator>Felipe de Azevedo Piovezan &lt;piovezan.fpi@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>61fac2c3 - Incomplete attempt to pull DWARFTypePrinter into its own file for reuse</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#61fac2c3</link>
        <description>Incomplete attempt to pull DWARFTypePrinter into its own file for reusefrom lldb

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 15 Jun 2022 23:49:32 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cead4ece - [symbolizer] Parse DW_TAG_variable DIs to show line info for globals</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#cead4ece</link>
        <description>[symbolizer] Parse DW_TAG_variable DIs to show line info for globalsCurrently, llvm-symbolizer doesn&apos;t like to parse .debug_info in order toshow the line info for global variables. addr2line does this. In thefuture, I&apos;m looking to migrate AddressSanitizer off of internal metadataover to using debuginfo, and this is predicated on being able to get theline info for global variables.This patch adds the requisite support for getting the line info from the.debug_info section for symbolizing global variables. This only happenswhen you ask for a global variable to be symbolized as data.Reviewed By: dblaikieDifferential Revision: https://reviews.llvm.org/D123538

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Mon, 23 May 2022 20:11:01 +0000</pubDate>
        <dc:creator>Mitch Phillips &lt;31459023+hctim@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>6b306233 - DebugInfo: Make the simplified template names prefix more unique</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#6b306233</link>
        <description>DebugInfo: Make the simplified template names prefix more unique

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 06 Apr 2022 18:25:16 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>bb3980ae - DebugInfo: Don&apos;t use enumerators in template names for debug info as they are not canonical</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#bb3980ae</link>
        <description>DebugInfo: Don&apos;t use enumerators in template names for debug info as they are not canonicalSince enumerators may not be available in every translation unit theycan&apos;t be reliably used to name entities. (this also makes simplifiedtemplate name roundtripping infeasible - since the expected name couldonly be rebuilt if the enumeration definition could be found (or only ifit couldn&apos;t be found, depending on the context of the original name))

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Tue, 05 Apr 2022 17:16:42 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4841dab4 - llvm-dwarfdump: Including calling convention attribute in pretty printed type names</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#4841dab4</link>
        <description>llvm-dwarfdump: Including calling convention attribute in pretty printed type names

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Mon, 21 Mar 2022 19:37:39 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>a3095a25 - DebugInfo: Simplify const/volatile printing for function types</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#a3095a25</link>
        <description>DebugInfo: Simplify const/volatile printing for function types

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Thu, 17 Mar 2022 22:59:18 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d7c4f7f1 - DebugInfo: fix a couple of spurious spaces in simplified template name rebuilding</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#d7c4f7f1</link>
        <description>DebugInfo: fix a couple of spurious spaces in simplified template name rebuilding

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 16 Feb 2022 19:18:31 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>290e4823 - Cleanup LLVMDWARFDebugInfo</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#290e4823</link>
        <description>Cleanup LLVMDWARFDebugInfoAs usual with that header cleanup series, some implicit dependencies now need tobe explicit:llvm/DebugInfo/DWARF/DWARFContext.h no longer includes:- &quot;llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFCompileUnit.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFDebugAranges.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFDebugFrame.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFDebugLoc.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFDebugMacro.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFGdbIndex.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFSection.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFTypeUnit.h&quot;- &quot;llvm/DebugInfo/DWARF/DWARFUnitIndex.h&quot;Plus llvm/Support/Errc.h not included by a bunch of llvm/DebugInfo/DWARF/DWARF*.h filesPreprocessed lines to build llvm on my setup:after: 1065629059before: 1066621848Which is a great diff!Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanupDifferential Revision: https://reviews.llvm.org/D119723

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Mon, 14 Feb 2022 15:27:04 +0000</pubDate>
        <dc:creator>serge-sans-paille &lt;sguelton@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>e72c195f - Cleanup LLVMObject headers</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#e72c195f</link>
        <description>Cleanup LLVMObject headersMost notably,llvm/Object/Binary.h no longer includes llvm/Support/MemoryBuffer.hllvm/Object/MachOUniversal*.h no longer include llvm/Object/Archive.hllvm/Object/TapiUniversal.h no longer includes llvm/Object/TapiFile.hllvm-project preprocessed size:before: 1068185081after:  1068324320Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanupDifferential Revision: https://reviews.llvm.org/D119457

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Thu, 10 Feb 2022 17:39:06 +0000</pubDate>
        <dc:creator>serge-sans-paille &lt;sguelton@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>713c2b47 - [DebugInfo][DWARF][NFC] Refactor DWARFTypePrinter usages. Create functions to print type dies.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#713c2b47</link>
        <description>[DebugInfo][DWARF][NFC] Refactor DWARFTypePrinter usages. Create functions to print type dies.This patch creates functions which might be used to dump types.This functionality was already implemented by  DWARFTypePrinter.Now it could be reused. It will help D96035, which uses DWARFTypePrinter.Differential Revision: https://reviews.llvm.org/D117134

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 12 Jan 2022 15:42:48 +0000</pubDate>
        <dc:creator>Alexey Lapshin &lt;a.v.lapshin@mail.ru&gt;</dc:creator>
    </item>
<item>
        <title>06c15460 - DebugInfo: Rebuild varargs function types correctly</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#06c15460</link>
        <description>DebugInfo: Rebuild varargs function types correctlyImproves llvm-dwarfdump output and for simplified template names roundtripping.

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 05 Jan 2022 21:25:13 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>6edc3893 - DWARFDie: don&apos;t try to compute a full template name for a template parameter packs</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#6edc3893</link>
        <description>DWARFDie: don&apos;t try to compute a full template name for a template parameter packsOtherwise these look a lot like actual templates (they have a name andthey have template parameters) but they don&apos;t participate in naming(this doesn&apos;t come up in practice because a template parameter pack DIEis never referenced from another DIE (so we don&apos;t do full namerebuilding for it) or the subject of simplified template name rebuilding(never has the _STN prefix)) - it could be tested with some hand craftedDWARF but doesn&apos;t seem important/useful to do so.This change is just for performance - to avoid trying to parse moreDIEs, etc, when it&apos;s not needed when computing the name in the DWARFverifier.

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 29 Dec 2021 22:04:38 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f24dff35 - DWARFVerifier: Delay loading nested types in type dumping to improve performance</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#f24dff35</link>
        <description>DWARFVerifier: Delay loading nested types in type dumping to improve performanceAvoid trying to resolve nested types that may not be needed because the name isalready provided by the outer DIE.

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Wed, 29 Dec 2021 21:11:16 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2d303e67 - Remove redundant return and continue statements (NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp#2d303e67</link>
        <description>Remove redundant return and continue statements (NFC)Identified with readability-redundant-control-flow.

            List of files:
            /llvm-project-15.0.7/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp</description>
        <pubDate>Sat, 25 Dec 2021 07:17:53 +0000</pubDate>
        <dc:creator>Kazu Hirata &lt;kazu@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
