llvm-project/llvm/tools/dsymutil
Adrian Prantl 29729f1529 Reduce the memory footprint of dsymutil. (NFC)
This (partially) fixes a regression introduced by
https://reviews.llvm.org/D43945 / r327399, which parallelized
DwarfLinker. This patch avoids parsing and allocating the memory for
all input DIEs up front and instead only allocates them in the
concurrent loop in the AnalyzeLambda. At the end of the loop the
memory from the LinkContext is cleared again.

This reduces the peak memory needed to link the debug info of a
non-modular build of the Swift compiler by >3GB.

rdar://problem/43444464

Differential Revision: https://reviews.llvm.org/D51078

llvm-svn: 340650
2018-08-24 20:41:08 +00:00
..
BinaryHolder.cpp [dsymutil] Rename conflicting declaration 2018-06-29 17:11:34 +00:00
BinaryHolder.h [dsymutil] Rename conflicting declaration 2018-06-29 17:11:34 +00:00
CFBundle.cpp [dsymutil][NFC] Replace calls to CoreFoundation with LLVM equivalent. 2017-12-28 14:05:49 +00:00
CFBundle.h [dsymutil] Upstream getBundleInfo implementation 2017-11-30 10:25:28 +00:00
CMakeLists.txt [dsymutil] Move abstractions into separate files (NFC) 2018-06-27 16:13:40 +00:00
CompileUnit.cpp [dsymutil] Move abstractions into separate files (NFC) 2018-06-27 16:13:40 +00:00
CompileUnit.h [dsymutil] Emit label at the begin of a CU 2018-07-06 12:49:54 +00:00
DebugMap.cpp [dsymutil] Make the CachedBinaryHolder the default 2018-06-29 16:51:52 +00:00
DebugMap.h [dsymutil] Move abstractions into separate files (NFC) 2018-06-27 16:13:40 +00:00
DeclContext.cpp [dsymutil] Move abstractions into separate files (NFC) 2018-06-27 16:13:40 +00:00
DeclContext.h [dsymutil] Move abstractions into separate files (NFC) 2018-06-27 16:13:40 +00:00
DwarfLinker.cpp Reduce the memory footprint of dsymutil. (NFC) 2018-08-24 20:41:08 +00:00
DwarfLinker.h Reduce the memory footprint of dsymutil. (NFC) 2018-08-24 20:41:08 +00:00
DwarfStreamer.cpp [DebugInfo] Reduce debug_str_offsets section size 2018-08-07 09:54:52 +00:00
DwarfStreamer.h [dsymutil] Add support for generating DWARF5 accelerator tables. 2018-07-25 23:01:38 +00:00
LLVMBuild.txt [dsymutil] Rename llvm-dsymutil -> dsymutil 2018-03-18 11:38:41 +00:00
LinkUtils.h [dsymutil] Add support for generating DWARF5 accelerator tables. 2018-07-25 23:01:38 +00:00
MachODebugMapParser.cpp [dsymutil] Make the CachedBinaryHolder the default 2018-06-29 16:51:52 +00:00
MachOUtils.cpp [DebugInfo] Reduce debug_str_offsets section size 2018-08-07 09:54:52 +00:00
MachOUtils.h [dsymutil] Simplify temporary file handling. 2018-07-29 14:56:15 +00:00
NonRelocatableStringpool.cpp [DebugInfo] Reduce debug_str_offsets section size 2018-08-07 09:54:52 +00:00
NonRelocatableStringpool.h [DebugInfo] Reduce debug_str_offsets section size 2018-08-07 09:54:52 +00:00
dsymutil.cpp [dsymutil] Simplify temporary file handling. 2018-07-29 14:56:15 +00:00
dsymutil.h [dsymutil] Make the CachedBinaryHolder the default 2018-06-29 16:51:52 +00:00