Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
398f3b36 |
| 06-Dec-2024 |
Dave Lee <davelee.com@gmail.com> |
[lldb] Add synthetic formatter for llvm::Expected (#118758)
Adds a synthetic formatter for `llvm::Expected<T>`. The synthetic value
will have a single child, either `value` or `error`.
|
Revision tags: 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 |
|
#
db9811cd |
| 21-Feb-2024 |
Alexander Richardson <alexrichardson@google.com> |
Make lldbDataFormatters.py compatible with Python 3.8 (#82518)
I just tried to load this into LLDB built against Python 3.8.5 and got
the following error: `TypeError: 'type' object is not subscript
Make lldbDataFormatters.py compatible with Python 3.8 (#82518)
I just tried to load this into LLDB built against Python 3.8.5 and got
the following error: `TypeError: 'type' object is not subscriptable`. I
could fix this by wrapping the annotations in quotes but since Python
3.7 this syntax can be enabled with `from __future__ import
annotations`.
show more ...
|
Revision tags: llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
45d1cca3 |
| 18-Jan-2024 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Fix SmallString summary provider (#78527)
Fixes `SmallString` summary provider, which was incorrectly producing the empty string. Initially I thought the strings I was debugging were
[llvm][utils] Fix SmallString summary provider (#78527)
Fixes `SmallString` summary provider, which was incorrectly producing the empty string. Initially I thought the strings I was debugging were empty for unknown reasons, but that was not the case.
show more ...
|
Revision tags: 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 |
|
#
a4b82f7f |
| 06-Sep-2023 |
Dave Lee <davelee.com@gmail.com> |
[lldb] Allow lldbDataFormatters.py to be used by other names (NFC) (#65528)
Instead of hard-coding the name `lldbDataFormatters`, use `__name__` to get the module's name.
This allows the formatters
[lldb] Allow lldbDataFormatters.py to be used by other names (NFC) (#65528)
Instead of hard-coding the name `lldbDataFormatters`, use `__name__` to get the module's name.
This allows the formatters to be loaded from any path, with any filename.
show more ...
|
Revision tags: llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3 |
|
#
bb90a5cf |
| 15-Aug-2023 |
Michael Buch <michaelbuch12@gmail.com> |
[llvm][utils] Fix SmallVector formatter when type is a pointer
Previously types such as `SmallVector<clang::Attr, 4> *` would trigger the assertion inside the `SmallVector` formatter: ``` assert sel
[llvm][utils] Fix SmallVector formatter when type is a pointer
Previously types such as `SmallVector<clang::Attr, 4> *` would trigger the assertion inside the `SmallVector` formatter: ``` assert self.type_size != 0 ``` This happens because `the_type.GetTemplateArgumentType(0)` returns `None` (since `the_type` is a pointer to the `SmallVector`).
This patch dereferences `the_type` if it's a pointer type. We do this for references already.
Differential Revision: https://reviews.llvm.org/D157961
show more ...
|
Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
b8580ef7 |
| 11-Jul-2023 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Use literal type name for non-template data formatters (NFC)
These don't need to be regex.
|
Revision tags: 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 |
|
#
78c9122a |
| 29-Oct-2022 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Add DenseMap data formatters
Add summary and synthetic data formatters for `llvm::DenseMap`.
This implementation avoids expression evaluation by using a heuristic. However, as heurist
[llvm][utils] Add DenseMap data formatters
Add summary and synthetic data formatters for `llvm::DenseMap`.
This implementation avoids expression evaluation by using a heuristic. However, as heuristics go, there is a corner case: A single deleted entry (a single "tombstone"), will result in a child value with an invalid key but a valid value.
Instead of calling `getEmptyKey()` and `getTombstoneKey()` to determine which buckets are empty, and which contain real key-values, the heuristic scans all buckets to identify keys that exist only once. These singleton keys are considered valid.
The empty key will always exist multiple times. However the tombstone key may exist zero, one, or many times. The heuristic has no problems when there are zero or many tombstones, but when there is exactly one deleted entry (one tombstone), then the heuristic will incorrectly identify it as valid.
Differential Revision: https://reviews.llvm.org/D137028
show more ...
|
#
f0acfaf9 |
| 13-Jul-2023 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Disable lldb formatters for PointerIntPair and PointerUnion
These synthetic providers use expression evaluation and fail in some cases.
Examples:
``` llvm::PointerIntPair<llvm::Point
[llvm][utils] Disable lldb formatters for PointerIntPair and PointerUnion
These synthetic providers use expression evaluation and fail in some cases.
Examples:
``` llvm::PointerIntPair<llvm::PointerUnion<const Type *, const ExtQuals *>, Qualifiers::FastWidth> Value; ```
and
``` typedef llvm::PointerUnion<const ValueDecl *, const Expr *, TypeInfoLValue, DynamicAllocLValue> PtrTy; ```
Original contribution: D117779
rdar://110791233 rdar://112195543
Differential Revision: https://reviews.llvm.org/D155219
show more ...
|
#
b71edfaa |
| 15-May-2023 |
Tobias Hieta <tobias@hieta.se> |
[NFC][Py Reformat] Reformat python files in llvm
This is the first commit in a series that will reformat all the python files in the LLVM repository.
Reformatting is done with `black`.
See more in
[NFC][Py Reformat] Reformat python files in llvm
This is the first commit in a series that will reformat all the python files in the LLVM repository.
Reformatting is done with `black`.
See more information here:
https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style
Reviewed By: jhenderson, JDevlieghere, MatzeB
Differential Revision: https://reviews.llvm.org/D150545
show more ...
|
Revision tags: llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
987d5e6c |
| 18-Aug-2022 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Make lldb data formatters show both summaries and children
When a type has a summary and synthetic child provider, the children are shown only if `--expand`/`-e` is given.
This update
[llvm][utils] Make lldb data formatters show both summaries and children
When a type has a summary and synthetic child provider, the children are shown only if `--expand`/`-e` is given.
This updates `lldbDataFormatters.py` to expand children of types that have both a summary and synthetic children.
Differential Revision: https://reviews.llvm.org/D132095
show more ...
|
Revision tags: 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, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
826bdf51 |
| 18-Mar-2022 |
Dave Lee <davelee.com@gmail.com> |
[lldb] Fix llvm::Optional summary provider
Differential Revision: https://reviews.llvm.org/D122041
|
Revision tags: 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 |
|
#
773467c8 |
| 20-Jan-2022 |
Sergej Jaskiewicz <sergej.jaskiewicz@jetbrains.com> |
[LLDB] Add formatters for PointerIntPair, PointerUnion
Also, add summaries for `SmallVector` and `ArrayRef`, and fix the `StringRef` summary provider so it doesn't ignore the `Length` field.
Differ
[LLDB] Add formatters for PointerIntPair, PointerUnion
Also, add summaries for `SmallVector` and `ArrayRef`, and fix the `StringRef` summary provider so it doesn't ignore the `Length` field.
Differential Revision: https://reviews.llvm.org/D117779
show more ...
|
Revision tags: llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, 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, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
#
50a6aa6c |
| 29-Mar-2021 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Fix handling of llvm::None
|
Revision tags: llvmorg-12.0.0-rc3 |
|
#
a01a406b |
| 26-Feb-2021 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Fix innocuous off by one in lldb formatters
num_children is "last_index" + 1, thus num_children + 1 = "last_index" + 2
this worked anyway because the index of `$$dereference$$` wo
[llvm][utils] Fix innocuous off by one in lldb formatters
num_children is "last_index" + 1, thus num_children + 1 = "last_index" + 2
this worked anyway because the index of `$$dereference$$` would work as long as it was past the last index.
show more ...
|
#
8d1b6afc |
| 26-Feb-2021 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Rename lldb dict variables to internal_dict
Most lldb scripts use `internal_dict`. Also, `dict` is a builtin constructor, it's good habit to avoid using it as a variable name.
|
Revision tags: llvmorg-12.0.0-rc2 |
|
#
408456f5 |
| 22-Feb-2021 |
Dave Lee <davelee.com@gmail.com> |
[llvm][utils] Support dereferencing llvm::Optional lldb formatter
Add deref support to `llvm::Optional` in `lldbDataFormatters.py`.
This creates a synthetic provider that adds dereference support,
[llvm][utils] Support dereferencing llvm::Optional lldb formatter
Add deref support to `llvm::Optional` in `lldbDataFormatters.py`.
This creates a synthetic provider that adds dereference support, but otherwise proxies all access to the underlying value.
With this change, an optional value can be displayed by running `v *someOptional`, and its contents can be accessed with the arrow `operator->`, for example `v someOpt->HasThing`. This matches expressions usable from expression evaluation.
See also D97165 and D97524.
Differential Revision: https://reviews.llvm.org/D97525
show more ...
|
Revision tags: 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 |
|
#
a206ca40 |
| 26-Aug-2020 |
Adrian Prantl <aprantl@apple.com> |
Bring llvm::Optional data formatter back in sync with the implementation.
|
Revision tags: llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
#
828fb0c5 |
| 26-Feb-2020 |
Adrian Prantl <aprantl@apple.com> |
Fix a null dereference in the LLDB data formatters.
|
Revision tags: llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
43c8b195 |
| 16-Aug-2019 |
Adrian Prantl <aprantl@apple.com> |
Add LLDB dataformatters for llvm::StringRef and lldb_private::ConstString
These data formatters make the string value appear in Xcode's variables view (and on the command line) without having to exp
Add LLDB dataformatters for llvm::StringRef and lldb_private::ConstString
These data formatters make the string value appear in Xcode's variables view (and on the command line) without having to expand the data structure.
Differential Revision: https://reviews.llvm.org/D66354
llvm-svn: 369175
show more ...
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
4f88388c |
| 25-Apr-2019 |
Davide Italiano <davide@freebsd.org> |
[utils] Add a lldb data formatter for llvm::SmallString.
Result:
(lldb) p val (llvm::SmallString<32>) $31 = "patatino"
llvm-svn: 359157
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
#
628ea145 |
| 06-Nov-2018 |
Justin Bogner <mail@justinbogner.com> |
[utils] Update SmallVector lldb formatter for r337514
SmallVector was changed to store a begin and a size rather than a begin and an end a while back. Update the formatter to look at the correct mem
[utils] Update SmallVector lldb formatter for r337514
SmallVector was changed to store a begin and a size rather than a begin and an end a while back. Update the formatter to look at the correct members.
llvm-svn: 346252
show more ...
|
Revision tags: llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1 |
|
#
0970e2e3 |
| 23-Jul-2018 |
Vedant Kumar <vsk@apple.com> |
[utils] Fix the llvm::Optional data formatter
The llvm::Optional data formatter needs to look through the `Storage` container if it's present.
Before:
220 if (Op && Op->getOp() != dwarf::DW_
[utils] Fix the llvm::Optional data formatter
The llvm::Optional data formatter needs to look through the `Storage` container if it's present.
Before:
220 if (Op && Op->getOp() != dwarf::DW_OP_LLVM_fragment) -> 221 HasComplexExpression = true; 222 223 // If the register can only be described by a complex expression (i.e., 224 // multiple subregisters) it doesn't safely compose with another complex Target 0: (llc) stopped. (lldb) p Op (llvm::Optional<llvm::DIExpression::ExprOperand>) $0 = None
After:
(lldb) p Op (llvm::Optional<llvm::DIExpression::ExprOperand>) $0 = (llvm::DIExpression::ExprOperand) storage = { Op = 0x000000010603d460 }
llvm-svn: 337752
show more ...
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1, llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0 |
|
#
3e18de2d |
| 20-Feb-2015 |
Justin Bogner <mail@justinbogner.com> |
utils: Teach lldbDataFormatters about llvm::Optional
llvm-svn: 229956
|
Revision tags: llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
8e5f548b |
| 11-Sep-2014 |
Justin Bogner <mail@justinbogner.com> |
utils: Teach lldbDataFormatters how to format ArrayRefs
llvm-svn: 217567
|
Revision tags: llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
#
dc30fbf7 |
| 28-May-2014 |
Justin Bogner <mail@justinbogner.com> |
utils: Teach lldbDataFormatters to load automatically
Add an __lldb_init_module function so that importing the lldbDataFormatters script automatically adds the formatters.
llvm-svn: 209712
|