[PATCH] D131331: WIP: [llvm] lldb abi_tag support 1/4 - Add equality comparison API to itanium_demangle::Node
Michael Buch via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 8 15:32:14 PDT 2022
Michael137 created this revision.
Michael137 added a reviewer: aprantl.
Herald added a subscriber: hiraditya.
Herald added a project: All.
Michael137 updated this revision to Diff 450561.
Michael137 added a comment.
Michael137 updated this revision to Diff 450564.
Michael137 updated this revision to Diff 450755.
Michael137 added a reviewer: ldionne.
Michael137 added a reviewer: urnathan.
Michael137 updated this revision to Diff 450970.
Michael137 updated this revision to Diff 450974.
Michael137 updated this revision to Diff 450977.
Michael137 published this revision for review.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
- Fixed PointerToMemberType::operator==
Michael137 added a comment.
- Add necessary null-checks
Michael137 added a comment.
Planning to add unit-tests once we are fine with the approach in https://reviews.llvm.org/D131335
Michael137 added a comment.
- Rebase
Michael137 added a comment.
- Fix NodeArray::operator==()
- Fix FunctionEncoding::operator==()
- Start adding operator!=()
Michael137 added a comment.
- Start adding unit-tests
Michael137 added a comment.
- Remove debug logging
Michael137 added a comment.
Still WIP, but general approach is there. Before I add more unit-tests (i.e., around 75 test-cases, one for each Node type), are people ok with the general implementation/testing strategy?
In LLDB we currently rely on hand-parsing demangled function
prototypes when selecting a candidate symbol for expression evaluation.
We now plan to use the Itanium mangle tree API to compare function
encodings instead.
This patch adds the ability to compare nodes of the Itanium mangle tree.
**Testing**
- TBD
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D131331
Files:
llvm/include/llvm/Demangle/ItaniumDemangle.h
llvm/lib/Demangle/ItaniumDemangle.cpp
llvm/unittests/Demangle/ItaniumDemangleTest.cpp
llvm/unittests/Demangle/ItaniumDemangleTestUtils.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131331.450977.patch
Type: text/x-patch
Size: 34483 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220808/1eb229c4/attachment.bin>
More information about the llvm-commits
mailing list