[PATCH] D32177: Using address range map to speedup finding inline stack for address.

Dehao Chen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 18 10:02:54 PDT 2017


danielcdh created this revision.

In the current implementation, to find inline stack for an address incurs expensive linear search in 2 places:

- linear search for the top-level DIE
- recursive linear traverse the DIE tree to find the path to the leaf DIE

In this patch, a map is built from address to its corresponding leaf DIE. The inline stack is built by traversing from the leaf DIE up to the root DIE. This speeds up batch symbolization by ~10X without noticible memory overhead.


https://reviews.llvm.org/D32177

Files:
  include/llvm/DebugInfo/DWARF/DWARFDie.h
  include/llvm/DebugInfo/DWARF/DWARFUnit.h
  lib/DebugInfo/DWARF/DWARFDie.cpp
  lib/DebugInfo/DWARF/DWARFUnit.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32177.95594.patch
Type: text/x-patch
Size: 4822 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170418/6002bb2b/attachment.bin>


More information about the llvm-commits mailing list