[PATCH] D96035: [WIP][dsymutil][DWARFlinker] implement separate multi-thread processing for compile units.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 07:11:33 PST 2021


avl created this revision.
avl added reviewers: JDevlieghere, aprantl, dblaikie, echristo, clayborg, friss.
Herald added subscribers: dang, jfb, steven_wu, mgrang, hiraditya, mgorny.
avl requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: llvm-commits, sstefan1.
Herald added a project: LLVM.

The idea of that refactoring is to speed-up DWARFLinker by utilizing parallel execution
and minimizing memory usages(in case the object file contains multiple compilation units).
This patch creates new library DWARFLinkerNext, which is called by standard dsymutil,
using --use-dlnext command line option.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D96035

Files:
  llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
  llvm/include/llvm/DWARFLinker/DWARFLinker.h
  llvm/include/llvm/DWARFLinkerNext/DWARFLinker.h
  llvm/include/llvm/DWARFLinkerNext/DWARFLinkerCompileUnit.h
  llvm/include/llvm/DWARFLinkerNext/DWARFLinkerDeclContext.h
  llvm/include/llvm/DWARFLinkerNext/DWARFStreamer.h
  llvm/lib/CMakeLists.txt
  llvm/lib/DWARFLinker/DWARFLinker.cpp
  llvm/lib/DWARFLinkerNext/CMakeLists.txt
  llvm/lib/DWARFLinkerNext/DWARFLinker.cpp
  llvm/lib/DWARFLinkerNext/DWARFLinkerCompileUnit.cpp
  llvm/lib/DWARFLinkerNext/DWARFLinkerDeclContext.cpp
  llvm/lib/DWARFLinkerNext/DWARFStreamer.cpp
  llvm/test/tools/dsymutil/X86/basic-linking-x86.test
  llvm/test/tools/dsymutil/X86/basic-lto-dw4-linking-x86.test
  llvm/test/tools/dsymutil/X86/basic-lto-linking-x86.test
  llvm/test/tools/dsymutil/X86/objc.test
  llvm/test/tools/dsymutil/X86/update-one-CU.test
  llvm/tools/dsymutil/BinaryHolder.cpp
  llvm/tools/dsymutil/BinaryHolder.h
  llvm/tools/dsymutil/CMakeLists.txt
  llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
  llvm/tools/dsymutil/DwarfLinkerForBinary.h
  llvm/tools/dsymutil/LinkUtils.h
  llvm/tools/dsymutil/Options.td
  llvm/tools/dsymutil/dsymutil.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96035.321422.patch
Type: text/x-patch
Size: 330417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210204/75c0cdb5/attachment-0001.bin>


More information about the llvm-commits mailing list