<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp, 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>[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] 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] Use llvm::append_range (NFC) (#133658)</title>
<updated>2025-03-31T01:43:02+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-03-31T01:43:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6257621f41d1deb31cfbfcee993a75991a0bca13'/>
<id>6257621f41d1deb31cfbfcee993a75991a0bca13</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Analysis, CodeGen, DebugInfo] Use StringRef::operator== instead of StringRef::equals (NFC) (#91304)</title>
<updated>2024-05-07T17:20:10+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-05-07T17:20:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=026a29e8b38aad79568de033d0e8e5d2e6bb4250'/>
<id>026a29e8b38aad79568de033d0e8e5d2e6bb4250</id>
<content type='text'>
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.

- StringRef::operator==/!= outnumber StringRef::equals by a factor of
  53 under llvm/ in terms of their usage.

- The elimination of StringRef::equals brings StringRef closer to
  std::string_view, which has operator== but not equals.

- S == "foo" is more readable than S.equals("foo"), especially for
  !Long.Expression.equals("str") vs Long.Expression != "str".</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I'm planning to remove StringRef::equals in favor of
StringRef::operator==.

- StringRef::operator==/!= outnumber StringRef::equals by a factor of
  53 under llvm/ in terms of their usage.

- The elimination of StringRef::equals brings StringRef closer to
  std::string_view, which has operator== but not equals.

- S == "foo" is more readable than S.equals("foo"), especially for
  !Long.Expression.equals("str") vs Long.Expression != "str".</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] (05/09) - Select elements</title>
<updated>2022-10-21T18:16:49+00:00</updated>
<author>
<name>Carlos Alberto Enciso</name>
<email>carlos.alberto.enciso@gmail.com</email>
</author>
<published>2022-10-21T12:12:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=de1e911f02a0b4369287c7d056efc94c3f5dc0cd'/>
<id>de1e911f02a0b4369287c7d056efc94c3f5dc0cd</id>
<content type='text'>
The test case 'checkFlexiblePatterns' caused a failure in:

  https://lab.llvm.org/buildbot/#/builders/85/builds/11590
  SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
    runtime error: applying zero offset to null pointer
    llvm/lib/Support/regengine.inc:151:18

The logical view is traversed and for each logical element a
series of match criterias are applied. One of those criterias
is to match its name or type name to a given pattern.

If the logical element does not have a type (for instance a
'namespace') do not try to use its type name, which is a
empty string as the 'matcher' function receives a null pointer.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D136444
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The test case 'checkFlexiblePatterns' caused a failure in:

  https://lab.llvm.org/buildbot/#/builders/85/builds/11590
  SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
    runtime error: applying zero offset to null pointer
    llvm/lib/Support/regengine.inc:151:18

The logical view is traversed and for each logical element a
series of match criterias are applied. One of those criterias
is to match its name or type name to a given pattern.

If the logical element does not have a type (for instance a
'namespace') do not try to use its type name, which is a
empty string as the 'matcher' function receives a null pointer.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D136444
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] (05/09) - Select elements</title>
<updated>2022-10-21T04:55:09+00:00</updated>
<author>
<name>Carlos Alberto Enciso</name>
<email>carlos.alberto.enciso@gmail.com</email>
</author>
<published>2022-10-20T07:49:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0332a8e7d6da29be945d16cc8c392ed7902397f5'/>
<id>0332a8e7d6da29be945d16cc8c392ed7902397f5</id>
<content type='text'>
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level
format.

The code has been divided into the following patches:

1) Interval tree
2) Driver and documentation
3) Logical elements
4) Locations and ranges
5) Select elements
6) Warning and internal options
7) Compare elements
8) ELF Reader
9) CodeView Reader

Full details:
https://discourse.llvm.org/t/llvm-dev-rfc-llvm-dva-debug-information-visual-analyzer/62570

This patch:

Select elements
- Support for logical elements selection:
  LVPatterns

Reviewed By: psamolysov, probinson

Differential Revision: https://reviews.llvm.org/D125780
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level
format.

The code has been divided into the following patches:

1) Interval tree
2) Driver and documentation
3) Logical elements
4) Locations and ranges
5) Select elements
6) Warning and internal options
7) Compare elements
8) ELF Reader
9) CodeView Reader

Full details:
https://discourse.llvm.org/t/llvm-dev-rfc-llvm-dva-debug-information-visual-analyzer/62570

This patch:

Select elements
- Support for logical elements selection:
  LVPatterns

Reviewed By: psamolysov, probinson

Differential Revision: https://reviews.llvm.org/D125780
</pre>
</div>
</content>
</entry>
<entry>
<title>Recommit [llvm-debuginfo-analyzer] (02/09) - Driver and documentation</title>
<updated>2022-10-18T07:39:26+00:00</updated>
<author>
<name>Carlos Alberto Enciso</name>
<email>carlos.alberto.enciso@gmail.com</email>
</author>
<published>2022-10-18T07:39:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c28a977b87defd2f37fd0808d7ba6173133744ce'/>
<id>c28a977b87defd2f37fd0808d7ba6173133744ce</id>
<content type='text'>
Originally committed in fe7a3cedf77125a6309150d85cecbc20b1a31775

Reverted in 26dd64ba9cfabe5474bb207f3b7099965f81fed7

Buildbot failures:
https://lab.llvm.org/buildbot#builders/139/builds/29663
- unittest trigger an invalid assertion.

https://lab.llvm.org/buildbot#builders/196/builds/19665
- 'has virtual functions but non-virtual destructor' warning as error.

Recommitted with fix:
- Removed the assertion.
- Added virtual destructor.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Originally committed in fe7a3cedf77125a6309150d85cecbc20b1a31775

Reverted in 26dd64ba9cfabe5474bb207f3b7099965f81fed7

Buildbot failures:
https://lab.llvm.org/buildbot#builders/139/builds/29663
- unittest trigger an invalid assertion.

https://lab.llvm.org/buildbot#builders/196/builds/19665
- 'has virtual functions but non-virtual destructor' warning as error.

Recommitted with fix:
- Removed the assertion.
- Added virtual destructor.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[llvm-debuginfo-analyzer] (02/09) - Driver and documentation"</title>
<updated>2022-10-17T13:26:48+00:00</updated>
<author>
<name>Carlos Alberto Enciso</name>
<email>carlos.alberto.enciso@gmail.com</email>
</author>
<published>2022-10-17T13:26:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=26dd64ba9cfabe5474bb207f3b7099965f81fed7'/>
<id>26dd64ba9cfabe5474bb207f3b7099965f81fed7</id>
<content type='text'>
This reverts commit fe7a3cedf77125a6309150d85cecbc20b1a31775.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit fe7a3cedf77125a6309150d85cecbc20b1a31775.
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-debuginfo-analyzer] (02/09) - Driver and documentation</title>
<updated>2022-10-17T12:46:55+00:00</updated>
<author>
<name>Carlos Alberto Enciso</name>
<email>carlos.alberto.enciso@gmail.com</email>
</author>
<published>2022-10-17T12:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe7a3cedf77125a6309150d85cecbc20b1a31775'/>
<id>fe7a3cedf77125a6309150d85cecbc20b1a31775</id>
<content type='text'>
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level
format.

The code has been divided into the following patches:

1) Interval tree
2) Driver and documentation
3) Logical elements
4) Locations and ranges
5) Select elements
6) Warning and internal options
7) Compare elements
8) ELF Reader
9) CodeView Reader

Full details:
https://discourse.llvm.org/t/llvm-dev-rfc-llvm-dva-debug-information-visual-analyzer/62570

This patch:

Driver and documentation
- Command line options.
- Full documentation.
- String Pool table.

Reviewed By: psamolysov, probinson

Differential Revision: https://reviews.llvm.org/D125777
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm-debuginfo-analyzer is a command line tool that processes debug
info contained in a binary file and produces a debug information
format agnostic “Logical View”, which is a high-level semantic
representation of the debug info, independent of the low-level
format.

The code has been divided into the following patches:

1) Interval tree
2) Driver and documentation
3) Logical elements
4) Locations and ranges
5) Select elements
6) Warning and internal options
7) Compare elements
8) ELF Reader
9) CodeView Reader

Full details:
https://discourse.llvm.org/t/llvm-dev-rfc-llvm-dva-debug-information-visual-analyzer/62570

This patch:

Driver and documentation
- Command line options.
- Full documentation.
- String Pool table.

Reviewed By: psamolysov, probinson

Differential Revision: https://reviews.llvm.org/D125777
</pre>
</div>
</content>
</entry>
</feed>
