<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/DebugInfo/LogicalView/Core, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[DebugInfo] Remove an unnecessary cast (NFC) (#146217)</title>
<updated>2025-06-28T20:03:38+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-06-28T20:03:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c101415820f24dee313f1482e7dbbd3a372984e7'/>
<id>c101415820f24dee313f1482e7dbbd3a372984e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] Fix ODR violation in llvm::logicalview::LVObject (#140265)</title>
<updated>2025-06-16T08:47:00+00:00</updated>
<author>
<name>Javier Lopez-Gomez</name>
<email>javier.lopez.gomez@proton.me</email>
</author>
<published>2025-06-16T08:47:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=383b3268794da1ca763deb91cec777742e6e54a8'/>
<id>383b3268794da1ca763deb91cec777742e6e54a8</id>
<content type='text'>
Some data members are only part of a class definition in a Debug build,
e.g. `LVObject::ID`. If `debuginfologicalview` is used as a library,
`NDEBUG` cannot be used for this purpose, as this PP macro may have a
different definition in a downstream project, which in turn triggers an
ODR violation. Fix it by
- Making `LVObject::ID` an unconditional data member.
- Making `LVObject::dump()` non-virtual. Rationale: `virtual` is not
needed (and it calls `print()`, which is virtual anyway).

Fixes #139098.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some data members are only part of a class definition in a Debug build,
e.g. `LVObject::ID`. If `debuginfologicalview` is used as a library,
`NDEBUG` cannot be used for this purpose, as this PP macro may have a
different definition in a downstream project, which in turn triggers an
ODR violation. Fix it by
- Making `LVObject::ID` an unconditional data member.
- Making `LVObject::dump()` non-virtual. Rationale: `virtual` is not
needed (and it calls `print()`, which is virtual anyway).

Fixes #139098.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] Add support for parsing DWARF / CodeView SourceLanguage (#137223)</title>
<updated>2025-06-06T14:03:07+00:00</updated>
<author>
<name>Javier Lopez-Gomez</name>
<email>javier.lopez.gomez@proton.me</email>
</author>
<published>2025-06-06T14:03:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0f38c54c6f4c1a45db0864412495cee61a0758e8'/>
<id>0f38c54c6f4c1a45db0864412495cee61a0758e8</id>
<content type='text'>
This pull request adds support for parsing the source language in both
DWARF and CodeView. Specifically,

- The `LVSourceLanguage` class is introduced to represent any supported
language by any of the debug info representations.

- Update `LVDWARFReader.cpp` and `LVCodeViewVisitor.cpp` to parse the
source language where it applies. Added a new `=Language` attribute;
`getAttributeLanguage()` is internally used to control whether this
information is being printed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pull request adds support for parsing the source language in both
DWARF and CodeView. Specifically,

- The `LVSourceLanguage` class is introduced to represent any supported
language by any of the debug info representations.

- Update `LVDWARFReader.cpp` and `LVCodeViewVisitor.cpp` to parse the
source language where it applies. Added a new `=Language` attribute;
`getAttributeLanguage()` is internally used to control whether this
information is being printed.
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer][NFC] Move some functionality to LVReader. (#142740)</title>
<updated>2025-06-04T13:35:48+00:00</updated>
<author>
<name>Carlos Alberto Enciso</name>
<email>Carlos.Enciso@sony.com</email>
</author>
<published>2025-06-04T13:35:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fef5096a8ac64c391a4d07dfbddb9f874b007e65'/>
<id>fef5096a8ac64c391a4d07dfbddb9f874b007e65</id>
<content type='text'>
Hoist out from LVDWARFReader and LVBinaryReader some generic
code, so it can be available to other readers that do not share the
binary format.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hoist out from LVDWARFReader and LVBinaryReader some generic
code, so it can be available to other readers that do not share the
binary format.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] Add support for DWARF `DW_AT_byte_size` (#139110)</title>
<updated>2025-05-22T13:20:40+00:00</updated>
<author>
<name>Javier Lopez-Gomez</name>
<email>javier.lopez.gomez@proton.me</email>
</author>
<published>2025-05-22T13:20:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9cac4bf485e64f7992f2c01bb9517f6379e58164'/>
<id>9cac4bf485e64f7992f2c01bb9517f6379e58164</id>
<content type='text'>
This PR was split from https://github.com/llvm/llvm-project/pull/137228
(which introduced support for `DW_TAG_module` and `DW_AT_byte_size`).

This PR improves `LVDWARFReader` by introducing handling of
`DW_AT_byte_size`. Most DWARF emitters include this attribute for types
to specify the size of an entity of the given type.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR was split from https://github.com/llvm/llvm-project/pull/137228
(which introduced support for `DW_TAG_module` and `DW_AT_byte_size`).

This PR improves `LVDWARFReader` by introducing handling of
`DW_AT_byte_size`. Most DWARF emitters include this attribute for types
to specify the size of an entity of the given type.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] Support DW_TAG_module (#137228)</title>
<updated>2025-05-21T14:05:10+00:00</updated>
<author>
<name>Javier Lopez-Gomez</name>
<email>javier.lopez.gomez@proton.me</email>
</author>
<published>2025-05-21T14:05:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cb575785b96ead29d699201b2d1e1d1203fdb494'/>
<id>cb575785b96ead29d699201b2d1e1d1203fdb494</id>
<content type='text'>
- Adds support for `DW_TAG_module` DIEs and recurse over their children.
Prior to this patch, entities hanging below `DW_TAG_module` were just
not visible. This DIE kind is commonly generated by Objective-C modules.

This patch will represent such entities, which will print as
```
[001]    {CompileUnit} '/llvm/tools/clang/test/modules/&lt;stdin&gt;'
[002]      {Producer} 'LLVM version 3.7.0'
           {Directory} '/llvm/tools/clang/test/modules'
           {File} '&lt;stdin&gt;'
[002]      {Module} 'DebugModule'
```
The minimal test case included is just the result of
```
$ llc llvm/test/DebugInfo/X86/DIModule.ll
      -accel-tables=Dwarf
      -o llvm/unittests/DebugInfo/LogicalView/Inputs/test-dwarf-clang-module.o
      -filetype=obj
```</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Adds support for `DW_TAG_module` DIEs and recurse over their children.
Prior to this patch, entities hanging below `DW_TAG_module` were just
not visible. This DIE kind is commonly generated by Objective-C modules.

This patch will represent such entities, which will print as
```
[001]    {CompileUnit} '/llvm/tools/clang/test/modules/&lt;stdin&gt;'
[002]      {Producer} 'LLVM version 3.7.0'
           {Directory} '/llvm/tools/clang/test/modules'
           {File} '&lt;stdin&gt;'
[002]      {Module} 'DebugModule'
```
The minimal test case included is just the result of
```
$ llc llvm/test/DebugInfo/X86/DIModule.ll
      -accel-tables=Dwarf
      -o llvm/unittests/DebugInfo/LogicalView/Inputs/test-dwarf-clang-module.o
      -filetype=obj
```</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] Fix a couple of unhandled DWARF situations leading to a crash (#137221)</title>
<updated>2025-05-21T04:29:41+00:00</updated>
<author>
<name>Javier Lopez-Gomez</name>
<email>javier.lopez.gomez@proton.me</email>
</author>
<published>2025-05-21T04:29:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=211ee04a616b0071adefe57015daf5702b0a09b4'/>
<id>211ee04a616b0071adefe57015daf5702b0a09b4</id>
<content type='text'>
This pull request fixes a couple of unhandled situations in DWARF input
leading to a crash. Specifically,

- If the DWARF input contains a declaration of a C variadic function
(where `...` translates to `DW_TAG_unspecified_parameters`), which is
then followed by a definition, `llvm_unreachable()` is hit in
`LVScope::addMissingElements()`. This is only visible in Debug builds.

- Parsing of instructions in `LVBinaryReader::createInstructions()` does
not check whether `Offset` lies within the `Bytes` ArrayRef. A specially
crafted DWARF input can lead to this condition.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pull request fixes a couple of unhandled situations in DWARF input
leading to a crash. Specifically,

- If the DWARF input contains a declaration of a C variadic function
(where `...` translates to `DW_TAG_unspecified_parameters`), which is
then followed by a definition, `llvm_unreachable()` is hit in
`LVScope::addMissingElements()`. This is only visible in Debug builds.

- Parsing of instructions in `LVBinaryReader::createInstructions()` does
not check whether `Offset` lies within the `Bytes` ArrayRef. A specially
crafted DWARF input can lead to this condition.
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use llvm::stable_sort (NFC) (#140067)</title>
<updated>2025-05-15T19:18:18+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-05-15T19:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=18ecff4f65067adfd9fcd721d93bb29b646e4756'/>
<id>18ecff4f65067adfd9fcd721d93bb29b646e4756</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use llvm::transform (NFC) (#137532)</title>
<updated>2025-04-27T19:32:12+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-04-27T19:32:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=52fcb076c01c907467814345f5ebdb7b6f140ba1'/>
<id>52fcb076c01c907467814345f5ebdb7b6f140ba1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use llvm::replace (NFC) (#137481)</title>
<updated>2025-04-27T01:18:09+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-04-27T01:18:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8210cdd764cb0b334f2bc205b316e94480c47c88'/>
<id>8210cdd764cb0b334f2bc205b316e94480c47c88</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
