[PATCH] D48899: [WIP][dsymutil] Convert recursion in lookForDIEsToKeep into worklist.

Jonas Devlieghere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 3 14:55:42 PDT 2018


JDevlieghere created this revision.
JDevlieghere added a reviewer: friss.

The functions `lookForDIEsToKeep` and `keepDIEAndDependencies` can have some very deep recursion. This tackles part of this problem by removing the recursion from `lookForDIEsToKeep` by turning it into a worklist. The difficulty in doing so is the computation of incompleteness, which depends on the incompleteness of its children. To compute this, we insert "continuation markers" into the worklist. This informs the work loop to (re)compute the Incompleteness of the DIE associated with it (i.e. the parent of the last processed DIE).


Repository:
  rL LLVM

https://reviews.llvm.org/D48899

Files:
  llvm/tools/dsymutil/DwarfLinker.cpp
  llvm/tools/dsymutil/DwarfLinker.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48899.153986.patch
Type: text/x-patch
Size: 7659 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180703/0ec3cef8/attachment.bin>


More information about the llvm-commits mailing list