[PATCH] D93106: [dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 11 04:58:09 PST 2020


avl created this revision.
avl added reviewers: JDevlieghere, friss, aprantl.
avl requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Current dsymutil implementation of hasLiveMemoryLocation()/hasLiveAddressRange()
and applyValidRelocs() assume that calls should be done in certain order
(from first Dies to last). Multi-thread implementation might call these methods
in other order(it might process compilation units in order other than they are physically
located), so we remove restriction that searching for relocations should be done
in ascending order. This change does not introduce noticable performance degradation.
The testing results for clang binary:

golden-dsymutil/dsymutil  23787992
clang MD5: 5efa8fd9355ebf81b65f24db5375caa2
elapsed time=91sec

build-Release/bin/dsymutil 23855616
clang MD5: 5efa8fd9355ebf81b65f24db5375caa2
elapsed time=91sec


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D93106

Files:
  llvm/include/llvm/DWARFLinker/DWARFLinker.h
  llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
  llvm/tools/dsymutil/DwarfLinkerForBinary.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D93106.311172.patch
Type: text/x-patch
Size: 10014 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201211/1f4276a0/attachment.bin>


More information about the llvm-commits mailing list