History log of /llvm-project-15.0.7/llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp (Results 1 – 25 of 62)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4
# 6c12ae81 24-May-2022 Hyoun Kyu Cho <[email protected]>

Exposes interface to free up caching data structure in DWARFDebugLine and DWARFUnit for memory management

This is minimum changes extracted from https://reviews.llvm.org/D78950. The old patch tried

Exposes interface to free up caching data structure in DWARFDebugLine and DWARFUnit for memory management

This is minimum changes extracted from https://reviews.llvm.org/D78950. The old patch tried to add LRU eviction of caching data structure. Due to multiple layers of interfaces that users could be using, it was not clear where to put the functionality. While we work out on where to put that functionality, it'll be great to add this minimum interface change so that the user could implement their own memory management. More specifically:

* Add a clearLineTable method for DWARFDebugLine which erases the given offset from the LineTableMap.
* DWARFDebugContext adds the clearLineTableForUnit method that leverages clearLineTable to remove the object corresponding to a given compile unit, for memory management purposes. When it is referred to again, the line table object will be repopulated.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D90006

show more ...


Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2
# f5907ea1 22-Dec-2021 Igor Kudrin <[email protected]>

[unittest][DebugInfo/DWARF] Do not report skipped tests as passed

This is similar to what we have already done to some other tests.
See D102643, D102710, D102754.

Differential Revision: https://rev

[unittest][DebugInfo/DWARF] Do not report skipped tests as passed

This is similar to what we have already done to some other tests.
See D102643, D102710, D102754.

Differential Revision: https://reviews.llvm.org/D116108

show more ...


# 5fc05a0a 22-Dec-2021 Igor Kudrin <[email protected]>

[unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created

If Generator::create() returns an error, tests should fail gracefully
and report the cause, for example:

[ RUN ] DebugLine

[unittest][DebugInfo/DWARF] Check that dwarfgen::Generator is created

If Generator::create() returns an error, tests should fail gracefully
and report the cause, for example:

[ RUN ] DebugLineBasicFixture.ParserSkipsCorrectly
.../llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp:47: Failure
Value of: llvm::detail::TakeExpected(ExpectedGenerator)
Expected: succeeded
Actual: failed (no asm backend for target nvptx64-nvidia-cuda)

Differential Revision: https://reviews.llvm.org/D116106

show more ...


# 71e5488a 14-Dec-2021 David Blaikie <[email protected]>

DebugInfo: Migrate callers from getAsCString to dwarf::toString

This makes a bunch of these call sites independent of a follow-up change
I'm making to have getAsCString return Expected<const char*>

DebugInfo: Migrate callers from getAsCString to dwarf::toString

This makes a bunch of these call sites independent of a follow-up change
I'm making to have getAsCString return Expected<const char*> for more
descriptive error messages so that the failures there can be
communicated up to DWARFVerifier (or other callers who want to provide
more verbose diagnostics) so DWARFVerifier doesn't have to re-implement
the string lookup logic and error checking.

show more ...


Revision tags: llvmorg-13.0.1-rc1
# d24e721d 18-Oct-2021 Jake Egan <[email protected]>

[AIX] Disable tests failing due to lack of 64-bit XCOFF object file support

The following tests are failing because 64-bit XCOFF object files are not currently supported on AIX. This patch disables

[AIX] Disable tests failing due to lack of 64-bit XCOFF object file support

The following tests are failing because 64-bit XCOFF object files are not currently supported on AIX. This patch disables these tests on AIX for now.

Reviewed By: shchenz

Differential Revision: https://reviews.llvm.org/D111887

show more ...


Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1
# d4d80a29 14-May-2021 Benjamin Kramer <[email protected]>

Bump googletest to 1.10.0


Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3
# 51a50534 18-Sep-2020 David Blaikie <[email protected]>

DebugInfo: Simplify line table parsing to take all the units together, rather than CUs and TUs separately


Revision tags: llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1
# 31eb8349 17-Jul-2020 Logan Smith <[email protected]>

[llvm][NFC] Add missing 'override's in unittests/


Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3
# 9e09a54c 02-Jul-2020 James Henderson <[email protected]>

[DebugInfo] Use Cursor to detect errors in debug line prologue parser

Previously, the debug line parser would keep attempting to read data
even if it had run out of data to read. This meant errors i

[DebugInfo] Use Cursor to detect errors in debug line prologue parser

Previously, the debug line parser would keep attempting to read data
even if it had run out of data to read. This meant errors in parsing
would often end up being reported as something else, such as an unknown
version or malformed directory/filename table. This patch fixes the
issues by using the Cursor API to capture errors.

Reviewed by: labath

Differential Revision: https://reviews.llvm.org/D83043

show more ...


# 670dbad4 02-Jul-2020 David Tenty <[email protected]>

[DebugInfo] Fix LineTest byteswap for cross-targeting builds

Summary:
The byte swap fix for big endian hosts in 9782c922cb21 (for D81570)
swaps based on the host endianess, but for cross-targeting

[DebugInfo] Fix LineTest byteswap for cross-targeting builds

Summary:
The byte swap fix for big endian hosts in 9782c922cb21 (for D81570)
swaps based on the host endianess, but for cross-targeting builds (i.e.
big endian host targeting little endian) the host-endianess won't
necessarily match the generated DWARF. This change updates the test
to use symmetrical constants so the results aren't endian dependent.

Reviewers: jhenderson, hubert.reinterpretcast, stevewan, ikudrin

Reviewed By: ikudrin

Subscribers: ikudrin, aprantl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82827

show more ...


Revision tags: llvmorg-10.0.1-rc2
# 01fee8dc 23-Jun-2020 James Henderson <[email protected]>

[DebugInfo][test] Attempt to fix big endian build bots

Commit 9782c922c broke them since it prints raw bytes, whose order will
be different dependent on the endianness of the host.


# 9782c922 17-Jun-2020 James Henderson <[email protected]>

[DebugInfo] Print line table extended opcode bytes if parsing fails

Previously, if there was an error whilst parsing the operands of an
extended opcode, the operands would be treated as zero and pri

[DebugInfo] Print line table extended opcode bytes if parsing fails

Previously, if there was an error whilst parsing the operands of an
extended opcode, the operands would be treated as zero and printed. This
could potentially be slightly confusing. This patch changes the
behaviour to print the raw bytes instead.

Reviewed by: ikudrin

Differential Revision: https://reviews.llvm.org/D81570

show more ...


# 1a789047 09-Jun-2020 James Henderson <[email protected]>

[DebugInfo] Report errors for truncated debug line standard opcode

Standard opcodes usually have ULEB128 arguments, so it is generally not
possible to recover from such errors. This patch causes the

[DebugInfo] Report errors for truncated debug line standard opcode

Standard opcodes usually have ULEB128 arguments, so it is generally not
possible to recover from such errors. This patch causes the parser to
stop parsing the table in such situations.

Also don't emit the operands or add data to the table if there is an
error reading these opcodes.

Reviewed by: JDevlieghere

Differential Revision: https://reviews.llvm.org/D81470

show more ...


# 9ed452f3 11-Jun-2020 Pavel Labath <[email protected]>

[llvm/DWARFDebugLine] Remove spurious full stop from warning messages

Other warnings messages don't have a trailing full stop.


# fccaa89e 11-Jun-2020 Pavel Labath <[email protected]>

[llvm/DWARFDebugLine] Fix a typo in one warning message


Revision tags: llvmorg-10.0.1-rc1
# 6f55b5a1 02-Apr-2020 Pavel Labath <[email protected]>

[DWARFDebugLine] Use truncating data extractors for prologue parsing

Summary:
This makes the code easier to reason about, as it will behave the same
way regardless of whether there is any more data

[DWARFDebugLine] Use truncating data extractors for prologue parsing

Summary:
This makes the code easier to reason about, as it will behave the same
way regardless of whether there is any more data coming after the
presumed end of the prologue.

Reviewers: jhenderson, dblaikie, probinson, ikudrin

Subscribers: hiraditya, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77557

show more ...


# 3b7ec64d 27-May-2020 James Henderson <[email protected]>

[DebugInfo] Fix printing of unrecognised standard opcodes

The verbose printing of unrecognised standard opcodes was broken in
multiple ways (additional blank lines, a closing parenthesis without
ope

[DebugInfo] Fix printing of unrecognised standard opcodes

The verbose printing of unrecognised standard opcodes was broken in
multiple ways (additional blank lines, a closing parenthesis without
opening parenthesis and so on). This patch fixes it, and makes the
output more consistent with other opcodes.

show more ...


# e3547ade 27-May-2020 James Henderson <[email protected]>

[DebugInfo] Improve new line printing in debug line verbose output

The new line printing for debug line verbose output was inconsistent.
For new rows in the matrix, a blank line followed, whilst the

[DebugInfo] Improve new line printing in debug line verbose output

The new line printing for debug line verbose output was inconsistent.
For new rows in the matrix, a blank line followed, whilst the
DW_LNS_copy opcode actually resulted in two blank lines. There was also
potential inconsistency in the blank lines at the end of the table. This
patch mostly resolves these issues - no blank lines appear in the output
except for a single line after the prologue and at table end to separate
it from any subsquent table, plus some instances after error messages.

Also add a unit test for verbose output to test the fine details of new
line placement and other aspects of verbose output.

Reviewed by: dblaikie

Differential Revision: https://reviews.llvm.org/D81102

show more ...


# dbd26fe0 26-May-2020 James Henderson <[email protected]>

[DebugInfo] Print non-verbose output at some point as verbose output

Verbose and non-verbose parsing of .debug_line produced their output at
different points in the program. The most obvious impact

[DebugInfo] Print non-verbose output at some point as verbose output

Verbose and non-verbose parsing of .debug_line produced their output at
different points in the program. The most obvious impact of this was
that error messages were produced at different times, but it also
potentially reduced what clients could do by customising the stream or
warning/error handlers.

This change makes the two variants consistent by printing non-verbose
output inline, the same as verbose output.

Testing of the error messages has been modified to check the messages
always appear in the same location to illustrate the behaviour.

Reviewed by: JDevlieghere, dblaikie, MaskRay, labath

Differential Revision: https://reviews.llvm.org/D80989

show more ...


# 5777570d 21-May-2020 James Henderson <[email protected]>

[DebugInfo] Check for errors when reading data for extended opcode

Previously, if an extended opcode was truncated, it would manifest as an
"unexpected line op length error" which wasn't quite accur

[DebugInfo] Check for errors when reading data for extended opcode

Previously, if an extended opcode was truncated, it would manifest as an
"unexpected line op length error" which wasn't quite accurate. This
change checks for errors any time data is read whilst parsing an
extended opcode, and reports any errors detected.

Reviewed by: MaskRay, labath, aprantl

Differential Revision: https://reviews.llvm.org/D80797

show more ...


# 04aea769 20-Apr-2020 Pavel Labath <[email protected]>

[Support] Make DataExtractor error messages more clear

Summary:
This is a result of the discussion at D78113. Previously we would be
only giving the current offset at which the error was detected. H

[Support] Make DataExtractor error messages more clear

Summary:
This is a result of the discussion at D78113. Previously we would be
only giving the current offset at which the error was detected. However,
this was phrased somewhat ambiguously (as it could also mean that end of
data was at that offset). The new error message includes the current
offset as well as the extent of the data being read.

I've changed a couple of file-level static functions into private member
functions in order to avoid passing a bunch of new arguments everywhere.

Reviewers: dblaikie, jhenderson

Subscribers: hiraditya, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78558

show more ...


# c475856d 24-Mar-2020 Pavel Labath <[email protected]>

[DWARFDebugLine] Check for errors when parsing v2 file/dir lists

Summary:
Without this we could silently accept an invalid prologue because the
default DataExtractor behavior is to return an empty s

[DWARFDebugLine] Check for errors when parsing v2 file/dir lists

Summary:
Without this we could silently accept an invalid prologue because the
default DataExtractor behavior is to return an empty string when
reaching the end of file. And empty string is also used to terminate
these lists.

This makes the parsing code slightly more complicated, but this
complexity will go away once the parser starts working with truncating
data extractors. The reason I am doing it this way is because without
this, the truncation would regress the quality of error messages (right
now, we produce bad error messages only near EOF, but truncation would
make everything behave as if it was near EOF).

Reviewers: dblaikie, probinson, jhenderson

Subscribers: hiraditya, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77555

show more ...


Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6
# 5de4ba17 20-Mar-2020 Sterling Augustine <[email protected]>

Cleanup the plumbing for DILineInfoSpecifier. [NFC - Try 2]


# 6343526d 20-Mar-2020 Sterling Augustine <[email protected]>

Revert "Cleanup the plumbing for DILineInfoSpecifier. [NFC]"

This broke lldb. Will fix and resubmit.

This reverts commit 98ff6eb679cd5a2556d990d3d629e6c03c1da6a0.


Revision tags: llvmorg-10.0.0-rc5
# 98ff6eb6 18-Mar-2020 Sterling Augustine <[email protected]>

Cleanup the plumbing for DILineInfoSpecifier. [NFC]

Summary:
1. FileLineInfoSpecifier::Default isn't the default for anything.
Rename to RawValue, which accurately reflects its role.
2. Most functio

Cleanup the plumbing for DILineInfoSpecifier. [NFC]

Summary:
1. FileLineInfoSpecifier::Default isn't the default for anything.
Rename to RawValue, which accurately reflects its role.
2. Most functions that take a part of a FileLineInfoSpecifier end up
constructing a full one later or plumb two values through. Make them
all just take a complete FileLineInfoSpecifier.
3. Printing basenames only was handled differently from all other
variants, make it parallel to all the other variants.

Reviewers: jhenderson

Subscribers: hiraditya, MaskRay, rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D76394

show more ...


123