This is an archive of the discontinued LLVM Phabricator instance.

[lldb/DWARF] Don't create lldb_private::Functions for gc'ed DW_TAG_subprograms
ClosedPublic

Authored by labath on Oct 22 2021, 5:21 AM.

Details

Summary

Front-load the first_valid_code_address check, so that we avoid creating
the function object (instead of simply refusing to use it in queries).

Diff Detail

Event Timeline

labath requested review of this revision.Oct 22 2021, 5:21 AM
labath created this revision.
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: sstefan1. · View Herald Transcript
clayborg accepted this revision.Oct 22 2021, 9:32 AM

Thanks for getting to this, this will be nice to avoid creating extra DWARF!

This revision is now accepted and ready to land.Oct 22 2021, 9:32 AM
This revision was landed with ongoing or failed builds.Oct 25 2021, 1:32 AM
This revision was automatically updated to reflect the committed changes.
shafik added inline comments.Oct 25 2021, 8:11 PM
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
866

You declare func_range here but don't use it till the next block, did you mean to use it in this block?

labath added inline comments.Oct 26 2021, 12:57 AM
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
866

This probably started out as a single block, but I later split it in two when it got more complex. I'll move the declaration further down.