[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
Fri Aug 6 06:22:30 PDT 2021
avl updated this revision to Diff 364773.
avl added a comment.
Herald added a reviewer: alexander-shaposhnikov.
Herald added a reviewer: jfb.
Herald added a subscriber: ormris.
Changes from the previous version of the patch:
1. It produces predictable results when working in multi-thread mode.
2. It does types merging. Types merging allows reducing the size of .debug_info table by 40% less in size.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96035/new/
https://reviews.llvm.org/D96035
Files:
llvm/include/llvm/CodeGen/DwarfStringPoolEntry.h
llvm/include/llvm/DWARFLinker/DWARFLinker.h
llvm/include/llvm/DWARFLinkerNext/DWARFLinker.h
llvm/include/llvm/DWARFLinkerNext/DWARFLinkerCompileUnit.h
llvm/include/llvm/DWARFLinkerNext/DWARFLinkerTypeTableUnit.h
llvm/include/llvm/DWARFLinkerNext/DWARFLinkerUnit.h
llvm/include/llvm/DWARFLinkerNext/DWARFStreamer.h
llvm/include/llvm/DWARFLinkerNext/DiesDataPool.h
llvm/include/llvm/DWARFLinkerNext/MTSafeSimpleList.h
llvm/include/llvm/DWARFLinkerNext/MTSafeStringTable.h
llvm/include/llvm/DWARFLinkerNext/MTSafeTypesMap.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/DWARFLinkerTypeTableUnit.cpp
llvm/lib/DWARFLinkerNext/DWARFLinkerUnit.cpp
llvm/lib/DWARFLinkerNext/DWARFStreamer.cpp
llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/String/foo1.o
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/String/foo2.o
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/String/foo3.o
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/String/main.o
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/call-site-entry.c
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/call-site-entry.macho.x86_64
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/call-site-entry.macho.x86_64.o
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/local_functor.o
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/tail-call.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/tail-call.macho.x86_64
llvm/test/tools/dsymutil/DWARFLinkerNext/Inputs/tail-call.macho.x86_64.o
llvm/test/tools/dsymutil/DWARFLinkerNext/accelerator.test
llvm/test/tools/dsymutil/DWARFLinkerNext/alias.test
llvm/test/tools/dsymutil/DWARFLinkerNext/assembly-output.test
llvm/test/tools/dsymutil/DWARFLinkerNext/basic-linking-bundle.test
llvm/test/tools/dsymutil/DWARFLinkerNext/basic-linking-x86.test
llvm/test/tools/dsymutil/DWARFLinkerNext/basic-lto-dw4-linking-x86.test
llvm/test/tools/dsymutil/DWARFLinkerNext/basic-lto-linking-x86.test
llvm/test/tools/dsymutil/DWARFLinkerNext/basic-with-libfat-test.test
llvm/test/tools/dsymutil/DWARFLinkerNext/call-site-entry-linking.test
llvm/test/tools/dsymutil/DWARFLinkerNext/call-site-entry-reloc.test
llvm/test/tools/dsymutil/DWARFLinkerNext/common-sym-multi.test
llvm/test/tools/dsymutil/DWARFLinkerNext/common-sym.test
llvm/test/tools/dsymutil/DWARFLinkerNext/custom-line-table.test
llvm/test/tools/dsymutil/DWARFLinkerNext/darwin-bundle.test
llvm/test/tools/dsymutil/DWARFLinkerNext/dead-stripped.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/debug-loc-base-addr.test
llvm/test/tools/dsymutil/DWARFLinkerNext/dsym-companion.test
llvm/test/tools/dsymutil/DWARFLinkerNext/dummy-debug-map.map
llvm/test/tools/dsymutil/DWARFLinkerNext/dwarf4-linetable.test
llvm/test/tools/dsymutil/DWARFLinkerNext/dwarf5-linetable.test
llvm/test/tools/dsymutil/DWARFLinkerNext/dwarf5.test
llvm/test/tools/dsymutil/DWARFLinkerNext/eh_frame.test
llvm/test/tools/dsymutil/DWARFLinkerNext/empty-CU.test
llvm/test/tools/dsymutil/DWARFLinkerNext/empty_range.s
llvm/test/tools/dsymutil/DWARFLinkerNext/fat-archive-input-i386.test
llvm/test/tools/dsymutil/DWARFLinkerNext/fat-object-input-x86_64.test
llvm/test/tools/dsymutil/DWARFLinkerNext/fat-object-input-x86_64h.test
llvm/test/tools/dsymutil/DWARFLinkerNext/frame-1.test
llvm/test/tools/dsymutil/DWARFLinkerNext/frame-2.test
llvm/test/tools/dsymutil/DWARFLinkerNext/generate-empty-CU.test
llvm/test/tools/dsymutil/DWARFLinkerNext/global_downgraded_to_static.c
llvm/test/tools/dsymutil/DWARFLinkerNext/keep-func.test
llvm/test/tools/dsymutil/DWARFLinkerNext/label.test
llvm/test/tools/dsymutil/DWARFLinkerNext/label2.test
llvm/test/tools/dsymutil/DWARFLinkerNext/lc_build_version.test
llvm/test/tools/dsymutil/DWARFLinkerNext/lit.local.cfg
llvm/test/tools/dsymutil/DWARFLinkerNext/local-functor.test
llvm/test/tools/dsymutil/DWARFLinkerNext/mismatch.m
llvm/test/tools/dsymutil/DWARFLinkerNext/module-warnings.test
llvm/test/tools/dsymutil/DWARFLinkerNext/modules-dwarf-version.m
llvm/test/tools/dsymutil/DWARFLinkerNext/modules-empty.m
llvm/test/tools/dsymutil/DWARFLinkerNext/modules-pruning.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/modules.m
llvm/test/tools/dsymutil/DWARFLinkerNext/multiple-inputs.test
llvm/test/tools/dsymutil/DWARFLinkerNext/objc.test
llvm/test/tools/dsymutil/DWARFLinkerNext/object-prefix-path.test
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-anon-namespace.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-fwd-declaration.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-fwd-declaration2.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-member-functions.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-predictable-output.test
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-string.test
llvm/test/tools/dsymutil/DWARFLinkerNext/odr-uniquing.cpp
llvm/test/tools/dsymutil/DWARFLinkerNext/op-convert.test
llvm/test/tools/dsymutil/DWARFLinkerNext/papertrail-warnings.test
llvm/test/tools/dsymutil/DWARFLinkerNext/remarks-linking-archive.text
llvm/test/tools/dsymutil/DWARFLinkerNext/remarks-linking-bundle-empty.test
llvm/test/tools/dsymutil/DWARFLinkerNext/remarks-linking-bundle.test
llvm/test/tools/dsymutil/DWARFLinkerNext/remarks-linking-fat-bundle.test
llvm/test/tools/dsymutil/DWARFLinkerNext/reproducer.test
llvm/test/tools/dsymutil/DWARFLinkerNext/statistics.test
llvm/test/tools/dsymutil/DWARFLinkerNext/submodules.m
llvm/test/tools/dsymutil/DWARFLinkerNext/suppressions.txt
llvm/test/tools/dsymutil/DWARFLinkerNext/swift-ast-x86_64.test
llvm/test/tools/dsymutil/DWARFLinkerNext/swift-dwarf-loc.test
llvm/test/tools/dsymutil/DWARFLinkerNext/swift-interface.test
llvm/test/tools/dsymutil/DWARFLinkerNext/tail-call-linking.test
llvm/test/tools/dsymutil/DWARFLinkerNext/template_operators.test
llvm/test/tools/dsymutil/DWARFLinkerNext/thinlto.test
llvm/test/tools/dsymutil/DWARFLinkerNext/timestamp-mismatch.test
llvm/test/tools/dsymutil/DWARFLinkerNext/update-one-CU.test
llvm/test/tools/dsymutil/DWARFLinkerNext/update.test
llvm/test/tools/dsymutil/DWARFLinkerNext/verify.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
More information about the llvm-commits
mailing list