diff options
author | Pavel Labath <pavel@labath.sk> | 2019-05-24 08:11:12 +0000 |
---|---|---|
committer | Pavel Labath <pavel@labath.sk> | 2019-05-24 08:11:12 +0000 |
commit | f750842c8b35c56b58402c1842869a885bfcff56 (patch) | |
tree | 29fa54e798c5f45c1b4cb364f5e766407c52c52e /llvm/lib/CodeGen/SwiftErrorValueTracking.cpp | |
parent | 8ac0bc9832a251837681b3a1cd53085ed8d594dc (diff) | |
download | llvm-f750842c8b35c56b58402c1842869a885bfcff56.zip llvm-f750842c8b35c56b58402c1842869a885bfcff56.tar.gz llvm-f750842c8b35c56b58402c1842869a885bfcff56.tar.bz2 |
DWARF: Implement DW_AT_signature lookup for type unit support
Summary:
This patch implements the main feature of type units. When completing a
type, if we encounter a DW_AT_signature attribute, we use it's value to
lookup the complete definition of the type in the relevant type unit.
To enable this lookup, we build up a map of all type units in a symbol
file when parsing the units. Then we consult this map when resolving the
DW_AT_signature attribute.
I include add a couple of tests which exercise the type lookup feature,
including one that ensure we do something reasonable in case we fail to
lookup the type.
A lot of the ideas in this patch have been taken from D32167 and D61505.
Reviewers: clayborg, JDevlieghere, aprantl, alexshap
Subscribers: mgrang, lldb-commits
Differential Revision: https://reviews.llvm.org/D62246
llvm-svn: 361603
Diffstat (limited to 'llvm/lib/CodeGen/SwiftErrorValueTracking.cpp')
0 files changed, 0 insertions, 0 deletions