[Lldb-commits] [PATCH] D70215: Use ForEachExternalModule in ParseTypeFromClangModule (NFC)

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 13 17:18:07 PST 2019


aprantl created this revision.
aprantl added a reviewer: teemperor.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: shafik.

I wanted to further simplify ParseTypeFromClangModule by replacing the hand-rolled loop with ForEachExternalModule, and then realized that ForEachExternalModule also had the problem of visiting the same leaf node an exponential number of times in the worst-case. This adds a set of `searched_symbol_files` set to the function as well as the ability to early-exit from it.


https://reviews.llvm.org/D70215

Files:
  lldb/include/lldb/Symbol/CompileUnit.h
  lldb/include/lldb/Symbol/SymbolFile.h
  lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
  lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
  lldb/source/Symbol/CompileUnit.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70215.229209.patch
Type: text/x-patch
Size: 16442 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191114/66cdc281/attachment-0001.bin>


More information about the lldb-commits mailing list