|
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 ...
|