This is an archive of the discontinued LLVM Phabricator instance.

[dsymutil] Remove final recursive call in lookForChildDIEsToKeep (NFC)
ClosedPublic

Authored by JDevlieghere on Dec 3 2019, 7:31 PM.

Details

Summary

This patch is a follow-up to D70990 and removes the final recursive call. With the current implementation the lookForChildDIEsToKeep algorithm is fully iterative using a worklist, without recursion. Just like the other patch, the dSYM generated for clang built in debug mode is byte-identical.

Diff Detail

Event Timeline

JDevlieghere created this revision.Dec 3 2019, 7:31 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 3 2019, 7:31 PM

Update & reflow comments.

Build result: pass - 60442 tests passed, 0 failed and 726 were skipped.

Log files: console-log.txt, CMakeCache.txt

aprantl accepted this revision.Dec 4 2019, 9:33 AM
aprantl added inline comments.
llvm/tools/dsymutil/DwarfLinker.cpp
884

doxygen comment?

This revision is now accepted and ready to land.Dec 4 2019, 9:33 AM

I really can't guarantee that I found no logic errors, but from a high-level point of view this seems logical.

aprantl added inline comments.Dec 4 2019, 9:36 AM
llvm/tools/dsymutil/DwarfLinker.cpp
1076–1079

Comment please.

1081–1082

Do we ever explain what a parent walk and the other types of jobs we schedule is? This would be really helpful for future understanding.

This revision was automatically updated to reflect the committed changes.