summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SlotIndexes.cpp
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2018-06-04 09:05:27 +0000
committerPavel Labath <labath@google.com>2018-06-04 09:05:27 +0000
commit3ca31ba75a405899bcc3e6a67abd9e9eee0f8666 (patch)
tree7b037f233e7b584199ea8a4bab5f569acbc5eacd /llvm/lib/CodeGen/SlotIndexes.cpp
parent528eb6599f1e205872491550c5bb1184e6dbd365 (diff)
downloadbcm5719-llvm-3ca31ba75a405899bcc3e6a67abd9e9eee0f8666.tar.gz
bcm5719-llvm-3ca31ba75a405899bcc3e6a67abd9e9eee0f8666.zip
AppleDWARFIndex: Get function method-ness directly from debug info
Summary: When searching for methods only, we need to do extra work to make sure the functions we get from the apple tables are indeed methods. Previously we were resolving the DIE into a SymbolContext and then checked whether the enclosing CompilerDeclContext is a class (or struct, or union). This patch changes that to operate on the debug info directly. This should be: - simpler - faster - more consistent with the ManualDWARFIndex (which does the same check, only at indexing time). What we lose this ways is for the language plugin to have a say in what it considers to be a "class", but that's probably more flexibility than we need (and if we really wanted to do that in the future, we could implement a more direct way to consult the plugin about this). This also fixes the find-method-local-struct test, which was failing because we were not able to construct a CompilerDeclContext for a local struct correctly. As a drive-by, I rename the DWARFDIE's IsStructClassOrUnion method to match the name on the CompilerDeclContext class. Reviewers: clayborg, JDevlieghere Subscribers: aprantl, lldb-commits Differential Revision: https://reviews.llvm.org/D47470 llvm-svn: 333878
Diffstat (limited to 'llvm/lib/CodeGen/SlotIndexes.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud