[all-commits] [llvm/llvm-project] fb244f: [dsymutil][DWARFLinker][NFC] make AddressManager n...
avl-llvm via All-commits
all-commits at lists.llvm.org
Sun Jan 31 05:38:21 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: fb244ffb9f2d7718b0edb1566138ba454b5709bc
https://github.com/llvm/llvm-project/commit/fb244ffb9f2d7718b0edb1566138ba454b5709bc
Author: Alexey Lapshin <a.v.lapshin at mail.ru>
Date: 2021-01-31 (Sun, 31 Jan 2021)
Changed paths:
M llvm/include/llvm/DWARFLinker/DWARFLinker.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/lib/DWARFLinker/DWARFLinker.cpp
M llvm/test/tools/dsymutil/X86/dwarf5.test
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.h
Log Message:
-----------
[dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations.
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
Differential Revision: https://reviews.llvm.org/D93106
More information about the All-commits
mailing list