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

Jonas Devlieghere via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 5 09:20:20 PDT 2018


JDevlieghere marked an inline comment as done.
JDevlieghere added a comment.

In https://reviews.llvm.org/D48899#1153210, @friss wrote:

> This looks like it should work and keep the current semantics. Did you find that this gives identical output as the current algorithm in your testing?


The output is **not always** binary identical. For example for clang we emit more than we did before (i.e. we consider more things incomplete). So far I don't have a good explanation for this...



================
Comment at: llvm/tools/dsymutil/DwarfLinker.cpp:878-880
+    std::vector<DWARFDie> Children(Current.Die.begin(), Current.Die.end());
+    std::reverse(Children.begin(), Children.end());
+    for (auto Child : Children)
----------------
friss wrote:
> Can you use something like make_reverse_iterator to avoid copying the list?
The iterator is a forward iterator (it uses getSibling to advance) so unfortunately not. 


https://reviews.llvm.org/D48899





More information about the llvm-commits mailing list