[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