diff --git a/llvm/include/llvm/DWARFLinker/DWARFLinker.h b/llvm/include/llvm/DWARFLinker/DWARFLinker.h index 9543546935eef..e573419e59db4 100644 --- a/llvm/include/llvm/DWARFLinker/DWARFLinker.h +++ b/llvm/include/llvm/DWARFLinker/DWARFLinker.h @@ -276,6 +276,12 @@ class DWARFFile { /// Helpful address information(list of valid address ranges, relocations). std::unique_ptr Addresses; + + /// Unloads object file and corresponding AddressesMap and Dwarf Context. + void unload() { + Addresses.reset(); + Dwarf.reset(); + } }; typedef std::map swiftInterfacesMap; @@ -524,7 +530,8 @@ class DWARFLinker { /// the debug object. void clear() { CompileUnits.clear(); - File.Addresses->clear(); + ModuleUnits.clear(); + File.unload(); } };