aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-reduce/llvm-reduce.cpp
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2022-08-03 17:09:40 -0700
committerArthur Eubanks <aeubanks@google.com>2022-10-28 16:15:37 -0700
commita842f74056793d9ab41411aa343811368164e6a8 (patch)
tree9e4e7280042a5ac874a9dd5211ef0a927af172eb /llvm/tools/llvm-reduce/llvm-reduce.cpp
parentd3e99d61a42bbac0da6c56e34fc5a2139549616f (diff)
downloadllvm-a842f74056793d9ab41411aa343811368164e6a8.zip
llvm-a842f74056793d9ab41411aa343811368164e6a8.tar.gz
llvm-a842f74056793d9ab41411aa343811368164e6a8.tar.bz2
[lldb] Support simplified template names
See https://discourse.llvm.org/t/dwarf-using-simplified-template-names/58417 for background on simplified template names. lldb doesn't work with simplified template names because it uses DW_AT_name which doesn't contain template parameters under simplified template names. Two major changes are required to make lldb work with simplified template names. 1) When building clang ASTs for struct-like dies, we use the name as a cache key. To distinguish between different instantiations of a template class, we need to add in the template parameters. 2) When looking up types, if the requested type name contains '<' and we didn't initially find any types from the index searching the name, strip the template parameters and search the index, then filter out results with non-matching template parameters. This takes advantage of the clang AST's ability to print full names rather than doing it by ourself. An alternative is to fix up the names in the index to contain the fully qualified name, but that doesn't respect .debug_names. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D134378
Diffstat (limited to 'llvm/tools/llvm-reduce/llvm-reduce.cpp')
0 files changed, 0 insertions, 0 deletions