[all-commits] [llvm/llvm-project] e12c70: [lldb] Use LLVM's implementation of AppleTables fo...
Felipe de Azevedo Piovezan via All-commits
all-commits at lists.llvm.org
Wed Jun 28 06:19:32 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e12c701ff0405880045f0330fb6ff94e31ec5c47
https://github.com/llvm/llvm-project/commit/e12c701ff0405880045f0330fb6ff94e31ec5c47
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2023-06-28 (Wed, 28 Jun 2023)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
Log Message:
-----------
[lldb] Use LLVM's implementation of AppleTables for apple_debug_types
This commit is replacing really old LLDB code, and we've found some odd
behavior while doing this replacement. While the changes here are largely NFC,
there are some subtle changes that fix such odd behavior.
The most curious example of this is the method `FindCompleteObjCClassName`,
which has a flag `must_be_implementation`. This flag was _only_ being respected
for accelerator tables containing the atom `type_flags`, which seems
counter-intuitive. The implementation for DWARF 5 tables does not do that and
neither does the code introduced in this patch.
There were other weird cases, for example, we found boolean logic that was
always true in a code path: look for a `if !has_qualified_name...` deleted
line; that condition was true by simple if/else analysis.
Differential Revision: https://reviews.llvm.org/D153867
More information about the All-commits
mailing list