[all-commits] [llvm/llvm-project] 4f576e: [Debuginfo][NFC] Avoid double calling of DWARFDie:...

avl-llvm via All-commits all-commits at lists.llvm.org
Sun May 3 04:01:05 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f576ea731efca6dffd595d1f6dcc77256073d19
      https://github.com/llvm/llvm-project/commit/4f576ea731efca6dffd595d1f6dcc77256073d19
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2020-05-03 (Sun, 03 May 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
    M llvm/lib/DWARFLinker/DWARFLinker.cpp
    M llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp

  Log Message:
  -----------
  [Debuginfo][NFC] Avoid double calling of DWARFDie::find(DW_AT_name).

Summary:
Current implementation of DWARFDie::getName(DINameKind Kind) could
lead to double call to DWARFDie::find(DW_AT_name) in following
scenario:

getName(LinkageName);
getName(ShortName);

getName(LinkageName) calls find(DW_AT_name) if linkage name is not
found. Then, it is called again in getName(ShortName). This patch
alows to request LinkageName and ShortName separately
to avoid extra call to find(DW_AT_name).

It helps D74169 to parse clang debuginfo faster(~1%).

Reviewers: clayborg, dblaikie

Differential Revision: https://reviews.llvm.org/D79173




More information about the All-commits mailing list