[Lldb-commits] [lldb] [WIP][lldb] Use forward decls with redeclared definitions instead of minimal import for records (PR #95100)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue Jun 11 07:04:22 PDT 2024


labath wrote:

Thank you for working on this. I'm very interested in the results of this effort, as it appears I may end up dabbling into these parts of lldb in the near future. For now just a couple of quick questions (with hopefully not too long answers).

- when you say "slower", what exactly does that mean. How much slow down are we talking about?
- the "increased number of DWARF searches", is that due to clang asking for definitions of types more eagerly? If yes, do you have some examples of where are these extra definitions coming from?
- I see one test which tries to skip itself conditionally based on a setting enabling this, but I don't see the code for the handling the setting itself. Is the intention to add the setting, or will this be a flag day change?
- I'm intrigued by this line "Instead of creating partially defined records that have fields but possibly no definition, ...". Until last week, I had assumed that types in lldb (and clang) can exist in only one of two states "empty/forward declared/undefined" and "fully defined". I was intrigued to find some support for loading only fields (`setHasLoadedFieldsFromExternalStorage`, et al.) in clang (but not in lldb, AIUI). Does this imply that the code for loading only the fields is broken (is the thing you're trying to remove)?

https://github.com/llvm/llvm-project/pull/95100


More information about the lldb-commits mailing list