[PATCH] D154793: [DWARFLinkerParallel] Add support of accelerator tables to DWARFLinkerParallel.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 9 10:17:27 PDT 2023


avl created this revision.
avl added reviewers: JDevlieghere, aprantl, dblaikie, clayborg.
Herald added subscribers: ormris, steven_wu, hiraditya.
Herald added a project: All.
avl requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: llvm-commits, jplehr, sstefan1.
Herald added a project: LLVM.

This patch is extracted from D96035 <https://reviews.llvm.org/D96035>, it adds support for the accelerator
tables to the DWARFLinkerParallel functionality.

run-time performance and memory requirements for clang binary --num-threads 16 :

----------------------------------------------------------------------------------

  |  time, sec   |  mem, GB  |

----------------------------------------------------------------------------------

dsymutil --no-odr --accelerator Apple --linker llvm   |      55      |   20.0    |
----------------------------------------------------------------------------------

dsymutil --no-odr --accelerator Apple --linker apple  |     263      |   23.0    |
----------------------------------------------------------------------------------

run-time performance and memory requirements for clang binary --num-threads 1 :

----------------------------------------------------------------------------------

  |  time, sec   |  mem, GB  |

----------------------------------------------------------------------------------

dsymutil --no-odr --accelerator Apple --linker llvm   |     273      |   19.0    |
----------------------------------------------------------------------------------

dsymutil --no-odr --accelerator Apple --linker apple  |     276      |   21.0    |
----------------------------------------------------------------------------------

Depends on D153268 <https://reviews.llvm.org/D153268>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D154793

Files:
  llvm/include/llvm/CodeGen/AccelTable.h
  llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
  llvm/lib/DWARFLinker/DWARFStreamer.cpp
  llvm/lib/DWARFLinkerParallel/ArrayList.h
  llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.cpp
  llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.h
  llvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.cpp
  llvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.h
  llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.cpp
  llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
  llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp
  llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h
  llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.cpp
  llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.h
  llvm/lib/DWARFLinkerParallel/OutputSections.cpp
  llvm/lib/DWARFLinkerParallel/OutputSections.h
  llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/dwarf5-dwarf4-combination-macho.test
  llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/dwarf5-macho.test
  llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/fat-dylib-update.test
  llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/obfuscated.test
  llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test
  llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
  llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
  llvm/test/tools/dsymutil/ARM/fat-dylib-update.test
  llvm/test/tools/dsymutil/ARM/obfuscated.test
  llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/basic-linking-bundle.test
  llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/basic-linking-x86.test
  llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/basic-lto-dw4-linking-x86.test
  llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/basic-lto-linking-x86.test
  llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/basic-with-libfat-test.test
  llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/multiple-inputs.test
  llvm/test/tools/dsymutil/X86/basic-linking-bundle.test
  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/basic-with-libfat-test.test
  llvm/test/tools/dsymutil/X86/multiple-inputs.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154793.538440.patch
Type: text/x-patch
Size: 125187 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230709/342b4208/attachment-0001.bin>


More information about the llvm-commits mailing list