This is an archive of the discontinued LLVM Phabricator instance.

[dsymutil][DWARFLinker][NFC] Refactor usages of UniquingStringPool.
ClosedPublic

Authored by avl on Dec 17 2020, 7:56 AM.

Details

Summary

That refactoring is helpful since it reduces data inter-dependencies.
Which is good for current implementation and even more good for
fully multi-thread implementation. The idea of the refactoring
is to delete UniquingStringPool from the global DWARFLinker level.
It is used to unique type names while ODR deduplication is done.
Thus we move UniquingStringPool into the DeclContextTree which
matched to UniquingStringPool usage scope.

golden-dsymutil/dsymutil 23787992
clang MD5: 7d9873ff94f0246b6ab1ec3e8d0f3f06

build-Release/bin/dsymutil 23921272
clang MD5: 7d9873ff94f0246b6ab1ec3e8d0f3f06

Diff Detail

Event Timeline

avl created this revision.Dec 17 2020, 7:56 AM
avl requested review of this revision.Dec 17 2020, 7:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 17 2020, 7:56 AM

Driveby spelling correction - but I don't know much of anything about the code in question, so deeper review will have to wait for someone else.

llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp
91

Spelling correction.

JDevlieghere accepted this revision.Dec 22 2020, 9:40 AM

LGTM with the comments and clang-tidy warning addressed.

llvm/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h
158

Can this be implemented in the cpp file?

llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp
91–98
This revision is now accepted and ready to land.Dec 22 2020, 9:40 AM
avl added a comment.Dec 22 2020, 12:15 PM

Thank you! Will address comments.

This revision was landed with ongoing or failed builds.Jan 3 2021, 3:52 AM
This revision was automatically updated to reflect the committed changes.