[all-commits] [llvm/llvm-project] 29a156: [DWARFLinker] Release input DWARF after object has...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Fri Oct 6 08:01:05 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 29a1567435ed56a56410fce76d0dedc89683dc81
      https://github.com/llvm/llvm-project/commit/29a1567435ed56a56410fce76d0dedc89683dc81
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2023-10-06 (Fri, 06 Oct 2023)

  Changed paths:
    M llvm/include/llvm/DWARFLinker/DWARFLinker.h

  Log Message:
  -----------
  [DWARFLinker] Release input DWARF after object has been linked (#68376)

dsymutil is using an excessive amount of memory because it's holding on
to the DWARF Context, even after it's done processing the corresponding
object file. This patch releases the input DWARF after cloning, at which
point it is no longer needed. This has always been the intended
behavior, though I didn't bisect to figure out when this regressed.

When linking swift, this reduces peak (dirty) memory usage from 25 to 15
gigabytes.

rdar://111525100




More information about the All-commits mailing list