[llvm] 0303eb3 - Revert "Emit swift5 reflection section data in dsym bundle generated by dsymutil in the Dwarf section."

Shubham Sandeep Rastogi via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 26 16:59:22 PST 2022


Author: Shubham Sandeep Rastogi
Date: 2022-01-26T16:59:11-08:00
New Revision: 0303eb3cf26d3c918638b07c1e4f59f13d6f3def

URL: https://github.com/llvm/llvm-project/commit/0303eb3cf26d3c918638b07c1e4f59f13d6f3def
DIFF: https://github.com/llvm/llvm-project/commit/0303eb3cf26d3c918638b07c1e4f59f13d6f3def.diff

LOG: Revert "Emit swift5 reflection section data in dsym bundle generated by dsymutil in the Dwarf section."

This reverts commit 50f50f2582993a079dbcfb8e7ba48920f41e6be0.

Added: 
    

Modified: 
    llvm/include/llvm/DWARFLinker/DWARFStreamer.h
    llvm/include/llvm/MC/MCContext.h
    llvm/include/llvm/MC/MCObjectFileInfo.h
    llvm/include/llvm/Object/MachO.h
    llvm/include/llvm/Object/ObjectFile.h
    llvm/lib/DWARFLinker/DWARFStreamer.cpp
    llvm/lib/MC/MCContext.cpp
    llvm/lib/MC/MCObjectFileInfo.cpp
    llvm/lib/Object/MachOObjectFile.cpp
    llvm/tools/dsymutil/DwarfLinkerForBinary.cpp

Removed: 
    llvm/include/llvm/BinaryFormat/Swift.def
    llvm/include/llvm/BinaryFormat/Swift.h
    llvm/test/tools/dsymutil/Inputs/main.yaml
    llvm/test/tools/dsymutil/Inputs/reflection_metadata.yaml
    llvm/test/tools/dsymutil/Inputs/test.yaml
    llvm/test/tools/dsymutil/X86/reflection-dump.test


################################################################################
diff  --git a/llvm/include/llvm/BinaryFormat/Swift.def b/llvm/include/llvm/BinaryFormat/Swift.def
deleted file mode 100644
index 39931bec70e57..0000000000000
--- a/llvm/include/llvm/BinaryFormat/Swift.def
+++ /dev/null
@@ -1,26 +0,0 @@
-//===- llvm/BinaryFormat/Swift.def - Swift definitions ---------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// Macros for running through Swift enumerators.
-//
-//===----------------------------------------------------------------------===//
-
-#if !(defined HANDLE_SWIFT_SECTION)
-#error "Missing macro definition of HANDLE_SWIFT_SECTION"
-#endif
-
-#ifndef HANDLE_SWIFT_SECTION
-#define HANDLE_SWIFT_SECTION(KIND, MACHO, ELF, COFF)
-#endif
-
-HANDLE_SWIFT_SECTION(Fieldmd, "__swift5_fieldmd", "swift5_fieldmd", ".sw5flmd")
-HANDLE_SWIFT_SECTION(Assocty, "__swift5_assocty", "swift5_assocty", ".sw5asty")
-HANDLE_SWIFT_SECTION(Builtin, "__swift5_builtin", "swift5_builtin", ".sw5bltn")
-HANDLE_SWIFT_SECTION(Capture, "__swift5_capture", "swift5_capture", ".sw5cptr")
-HANDLE_SWIFT_SECTION(Typeref, "__swift5_typeref", "swift5_typeref", ".sw5tyrf")
-HANDLE_SWIFT_SECTION(Reflstr, "__swift5_reflstr", "swift5_reflstr", ".sw5rfst")

diff  --git a/llvm/include/llvm/BinaryFormat/Swift.h b/llvm/include/llvm/BinaryFormat/Swift.h
deleted file mode 100644
index 63bbfe08c86d4..0000000000000
--- a/llvm/include/llvm/BinaryFormat/Swift.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//===-- llvm/BinaryFormat/Swift.h ---Swift Constants-------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-
-#ifndef LLVM_BINARYFORMAT_SWIFT_H
-#define LLVM_BINARYFORMAT_SWIFT_H
-
-namespace llvm {
-namespace swift {
-
-enum Swift5ReflectionSectionKind {
-#define HANDLE_SWIFT_SECTION(KIND, MACHO, ELF, COFF) KIND,
-#include "llvm/BinaryFormat/Swift.def"
-#undef HANDLE_SWIFT_SECTION
-  Unknown,
-  Last = Unknown
-};
-} // end of namespace swift
-} // end of namespace llvm
-
-#endif

diff  --git a/llvm/include/llvm/DWARFLinker/DWARFStreamer.h b/llvm/include/llvm/DWARFLinker/DWARFStreamer.h
index 8e845ee91b9f7..9a5c6bcaf83f3 100644
--- a/llvm/include/llvm/DWARFLinker/DWARFStreamer.h
+++ b/llvm/include/llvm/DWARFLinker/DWARFStreamer.h
@@ -9,7 +9,6 @@
 #ifndef LLVM_DWARFLINKER_DWARFSTREAMER_H
 #define LLVM_DWARFLINKER_DWARFSTREAMER_H
 
-#include "llvm/BinaryFormat/Swift.h"
 #include "llvm/CodeGen/AccelTable.h"
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/DWARFLinker/DWARFLinker.h"
@@ -49,7 +48,7 @@ class DwarfStreamer : public DwarfEmitter {
       : OutFile(OutFile), OutFileType(OutFileType), Translator(Translator),
         ErrorHandler(Error), WarningHandler(Warning) {}
 
-  bool init(Triple TheTriple, StringRef Swift5ReflectionSegmentName);
+  bool init(Triple TheTriple);
 
   /// Dump the file to the disk.
   void finish();
@@ -86,11 +85,6 @@ class DwarfStreamer : public DwarfEmitter {
   /// Emit the swift_ast section stored in \p Buffer.
   void emitSwiftAST(StringRef Buffer);
 
-  /// Emit the swift reflection section stored in \p Buffer.
-  void emitSwiftReflectionSection(
-      llvm::swift::Swift5ReflectionSectionKind ReflSectionKind,
-      StringRef Buffer, uint32_t Alignment, uint32_t Size);
-
   /// Emit debug_ranges for \p FuncRange by translating the
   /// original \p Entries.
   void emitRangesEntries(

diff  --git a/llvm/include/llvm/MC/MCContext.h b/llvm/include/llvm/MC/MCContext.h
index d2307d6922780..88d86d5b675ac 100644
--- a/llvm/include/llvm/MC/MCContext.h
+++ b/llvm/include/llvm/MC/MCContext.h
@@ -80,10 +80,6 @@ namespace llvm {
   private:
     Environment Env;
 
-    /// The name of the Segment where Swift5 Reflection Section data will be
-    /// outputted
-    StringRef Swift5ReflectionSegmentName;
-
     /// The triple for this object.
     Triple TT;
 
@@ -403,17 +399,13 @@ namespace llvm {
                        const MCRegisterInfo *MRI, const MCSubtargetInfo *MSTI,
                        const SourceMgr *Mgr = nullptr,
                        MCTargetOptions const *TargetOpts = nullptr,
-                       bool DoAutoReset = true,
-                       StringRef Swift5ReflSegmentName = {});
+                       bool DoAutoReset = true);
     MCContext(const MCContext &) = delete;
     MCContext &operator=(const MCContext &) = delete;
     ~MCContext();
 
     Environment getObjectFileType() const { return Env; }
 
-    const StringRef &getSwift5ReflectionSegmentName() const {
-      return Swift5ReflectionSegmentName;
-    }
     const Triple &getTargetTriple() const { return TT; }
     const SourceMgr *getSourceManager() const { return SrcMgr; }
 

diff  --git a/llvm/include/llvm/MC/MCObjectFileInfo.h b/llvm/include/llvm/MC/MCObjectFileInfo.h
index 1b4804db783b4..5e0cccaba77fa 100644
--- a/llvm/include/llvm/MC/MCObjectFileInfo.h
+++ b/llvm/include/llvm/MC/MCObjectFileInfo.h
@@ -15,7 +15,6 @@
 
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/Triple.h"
-#include "llvm/BinaryFormat/Swift.h"
 #include "llvm/MC/MCSymbol.h"
 #include "llvm/Support/CodeGen.h"
 #include "llvm/Support/VersionTuple.h"
@@ -229,10 +228,6 @@ class MCObjectFileInfo {
   MCSection *ReadOnly8Section = nullptr;
   MCSection *ReadOnly16Section = nullptr;
 
-  // Swift5 Reflection Data Sections
-  std::array<MCSection *, swift::Swift5ReflectionSectionKind::Last>
-      Swift5ReflectionSections = {};
-
 public:
   void initMCObjectFileInfo(MCContext &MCCtx, bool PIC,
                             bool LargeCodeModel = false);
@@ -428,14 +423,6 @@ class MCObjectFileInfo {
 
   bool isPositionIndependent() const { return PositionIndependent; }
 
-  // Swift5 Reflection Data Sections
-  MCSection *getSwift5ReflectionSection(
-      llvm::swift::Swift5ReflectionSectionKind ReflSectionKind) {
-    return ReflSectionKind != llvm::swift::Swift5ReflectionSectionKind::Unknown
-               ? Swift5ReflectionSections[ReflSectionKind]
-               : nullptr;
-  }
-
 private:
   bool PositionIndependent = false;
   MCContext *Ctx = nullptr;

diff  --git a/llvm/include/llvm/Object/MachO.h b/llvm/include/llvm/Object/MachO.h
index 09b6454bb0c14..ede742c47f971 100644
--- a/llvm/include/llvm/Object/MachO.h
+++ b/llvm/include/llvm/Object/MachO.h
@@ -22,7 +22,6 @@
 #include "llvm/ADT/Triple.h"
 #include "llvm/ADT/iterator_range.h"
 #include "llvm/BinaryFormat/MachO.h"
-#include "llvm/BinaryFormat/Swift.h"
 #include "llvm/MC/SubtargetFeature.h"
 #include "llvm/Object/Binary.h"
 #include "llvm/Object/ObjectFile.h"
@@ -584,9 +583,6 @@ class MachOObjectFile : public ObjectFile {
 
   StringRef mapDebugSectionName(StringRef Name) const override;
 
-  llvm::swift::Swift5ReflectionSectionKind
-  mapReflectionSectionNameToEnumValue(StringRef SectionName) const override;
-
   bool hasPageZeroSegment() const { return HasPageZeroSegment; }
 
   static bool classof(const Binary *v) {

diff  --git a/llvm/include/llvm/Object/ObjectFile.h b/llvm/include/llvm/Object/ObjectFile.h
index 29919db772f0e..12704b1fc88e7 100644
--- a/llvm/include/llvm/Object/ObjectFile.h
+++ b/llvm/include/llvm/Object/ObjectFile.h
@@ -18,7 +18,6 @@
 #include "llvm/ADT/Triple.h"
 #include "llvm/ADT/iterator_range.h"
 #include "llvm/BinaryFormat/Magic.h"
-#include "llvm/BinaryFormat/Swift.h"
 #include "llvm/Object/Binary.h"
 #include "llvm/Object/Error.h"
 #include "llvm/Object/SymbolicFile.h"
@@ -291,11 +290,6 @@ class ObjectFile : public SymbolicFile {
   virtual void getRelocationTypeName(DataRefImpl Rel,
                                      SmallVectorImpl<char> &Result) const = 0;
 
-  virtual llvm::swift::Swift5ReflectionSectionKind
-  mapReflectionSectionNameToEnumValue(StringRef SectionName) const {
-    return llvm::swift::Swift5ReflectionSectionKind::Unknown;
-  };
-
   Expected<uint64_t> getSymbolValue(DataRefImpl Symb) const;
 
 public:

diff  --git a/llvm/lib/DWARFLinker/DWARFStreamer.cpp b/llvm/lib/DWARFLinker/DWARFStreamer.cpp
index 7f9b9a9bc793c..1ab6ead3b5f66 100644
--- a/llvm/lib/DWARFLinker/DWARFStreamer.cpp
+++ b/llvm/lib/DWARFLinker/DWARFStreamer.cpp
@@ -27,8 +27,7 @@
 
 namespace llvm {
 
-bool DwarfStreamer::init(Triple TheTriple,
-                         StringRef Swift5ReflectionSegmentName) {
+bool DwarfStreamer::init(Triple TheTriple) {
   std::string ErrorStr;
   std::string TripleName;
   StringRef Context = "dwarf streamer init";
@@ -55,9 +54,8 @@ bool DwarfStreamer::init(Triple TheTriple,
   if (!MSTI)
     return error("no subtarget info for target " + TripleName, Context), false;
 
-  MC.reset(new MCContext(TheTriple, MAI.get(), MRI.get(), MSTI.get(), nullptr,
-                         nullptr, true, Swift5ReflectionSegmentName));
-  MOFI.reset(TheTarget->createMCObjectFileInfo(*MC, /*PIC=*/false, false));
+  MC.reset(new MCContext(TheTriple, MAI.get(), MRI.get(), MSTI.get()));
+  MOFI.reset(TheTarget->createMCObjectFileInfo(*MC, /*PIC=*/false));
   MC->setObjectFileInfo(MOFI.get());
 
   MAB = TheTarget->createMCAsmBackend(*MSTI, *MRI, MCOptions);
@@ -304,18 +302,6 @@ void DwarfStreamer::emitSwiftAST(StringRef Buffer) {
   MS->emitBytes(Buffer);
 }
 
-void DwarfStreamer::emitSwiftReflectionSection(
-    llvm::swift::Swift5ReflectionSectionKind ReflSectionKind, StringRef Buffer,
-    uint32_t Alignment, uint32_t Size) {
-  MCSection *ReflectionSection =
-      MOFI->getSwift5ReflectionSection(ReflSectionKind);
-  if (ReflectionSection == nullptr)
-    return;
-  ReflectionSection->setAlignment(Align(Alignment));
-  MS->SwitchSection(ReflectionSection);
-  MS->emitBytes(Buffer);
-}
-
 /// Emit the debug_range section contents for \p FuncRange by
 /// translating the original \p Entries. The debug_range section
 /// format is totally trivial, consisting just of pairs of address

diff  --git a/llvm/lib/MC/MCContext.cpp b/llvm/lib/MC/MCContext.cpp
index eafcee1e0607b..7f639e9c408fe 100644
--- a/llvm/lib/MC/MCContext.cpp
+++ b/llvm/lib/MC/MCContext.cpp
@@ -67,10 +67,10 @@ static void defaultDiagHandler(const SMDiagnostic &SMD, bool, const SourceMgr &,
 MCContext::MCContext(const Triple &TheTriple, const MCAsmInfo *mai,
                      const MCRegisterInfo *mri, const MCSubtargetInfo *msti,
                      const SourceMgr *mgr, MCTargetOptions const *TargetOpts,
-                     bool DoAutoReset, StringRef Swift5ReflSegmentName)
-    : Swift5ReflectionSegmentName(Swift5ReflSegmentName), TT(TheTriple),
-      SrcMgr(mgr), InlineSrcMgr(nullptr), DiagHandler(defaultDiagHandler),
-      MAI(mai), MRI(mri), MSTI(msti), Symbols(Allocator), UsedNames(Allocator),
+                     bool DoAutoReset)
+    : TT(TheTriple), SrcMgr(mgr), InlineSrcMgr(nullptr),
+      DiagHandler(defaultDiagHandler), MAI(mai), MRI(mri), MSTI(msti),
+      Symbols(Allocator), UsedNames(Allocator),
       InlineAsmUsedLabelNames(Allocator),
       CurrentDwarfLoc(0, 0, 0, DWARF2_FLAG_IS_STMT, 0, 0),
       AutoReset(DoAutoReset), TargetOptions(TargetOpts) {

diff  --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp
index 77b0b0ee687cb..d7f85f793c55f 100644
--- a/llvm/lib/MC/MCObjectFileInfo.cpp
+++ b/llvm/lib/MC/MCObjectFileInfo.cpp
@@ -299,17 +299,6 @@ void MCObjectFileInfo::initMachOMCObjectFileInfo(const Triple &T) {
   RemarksSection = Ctx->getMachOSection(
       "__LLVM", "__remarks", MachO::S_ATTR_DEBUG, SectionKind::getMetadata());
 
-  // The architecture of dsymutil makes it very 
diff icult to copy the Swift
-  // reflection metadata sections into the __TEXT segment, so dsymutil creates
-  // these sections in the __DWARF segment instead.
-  if (!Ctx->getSwift5ReflectionSegmentName().empty()) {
-#define HANDLE_SWIFT_SECTION(KIND, MACHO, ELF, COFF)                           \
-  Swift5ReflectionSections[llvm::swift::Swift5ReflectionSectionKind::KIND] =   \
-      Ctx->getMachOSection(Ctx->getSwift5ReflectionSegmentName().data(),       \
-                           MACHO, 0, SectionKind::getMetadata());
-#include "llvm/BinaryFormat/Swift.def"
-  }
-
   TLSExtraDataSection = TLSTLVSection;
 }
 

diff  --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp
index 83bc74ff31c40..42e257516f4e0 100644
--- a/llvm/lib/Object/MachOObjectFile.cpp
+++ b/llvm/lib/Object/MachOObjectFile.cpp
@@ -20,7 +20,6 @@
 #include "llvm/ADT/Triple.h"
 #include "llvm/ADT/Twine.h"
 #include "llvm/BinaryFormat/MachO.h"
-#include "llvm/BinaryFormat/Swift.h"
 #include "llvm/Object/Error.h"
 #include "llvm/Object/MachO.h"
 #include "llvm/Object/ObjectFile.h"
@@ -4766,14 +4765,3 @@ MachOObjectFile::findDsymObjectMembers(StringRef Path) {
                              Path.str().c_str());
   return ObjectPaths;
 }
-
-llvm::swift::Swift5ReflectionSectionKind
-MachOObjectFile::mapReflectionSectionNameToEnumValue(
-    StringRef SectionName) const {
-#define HANDLE_SWIFT_SECTION(KIND, MACHO, ELF, COFF)                           \
-  .Case(MACHO, llvm::swift::Swift5ReflectionSectionKind::KIND)
-  return StringSwitch<llvm::swift::Swift5ReflectionSectionKind>(SectionName)
-#include "llvm/BinaryFormat/Swift.def"
-      .Default(llvm::swift::Swift5ReflectionSectionKind::Unknown);
-#undef HANDLE_SWIFT_SECTION
-}

diff  --git a/llvm/test/tools/dsymutil/Inputs/main.yaml b/llvm/test/tools/dsymutil/Inputs/main.yaml
deleted file mode 100644
index d81931d7861c3..0000000000000
--- a/llvm/test/tools/dsymutil/Inputs/main.yaml
+++ /dev/null
@@ -1,886 +0,0 @@
-# How to generate this file:
-# 1. First take a swift file and run xcrun swiftc -g -v test.swift 
-# reflection_metadata.swift, make sure the two swift files are in a short path 
-# like /tmp/
-
-# 2. Now you can see what the driver does, generate the object files in the 
-# tmp directory and link them to create the input binary
-
-# 3. Run obj2yaml on the input binary to create a yaml file and strip out the 
-# swift5 reflection sections from the load commands in the text segment
-
-# 4. I ran delta to reduce this file.
-
---- !mach-o
-FileHeader:
-  magic:           0xFEEDFACF
-  cputype:         0x1000007
-  cpusubtype:      0x3
-  filetype:        0x2
-  ncmds:           18
-  sizeofcmds:      2848
-  flags:           0x200085
-  reserved:        0x0
-LoadCommands:
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         72
-    segname:         __PAGEZERO
-    vmaddr:          0
-    vmsize:          4294967296
-    fileoff:         0
-    filesize:        0
-    maxprot:         0
-    initprot:        0
-    nsects:          0
-    flags:           0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         952
-    segname:         __TEXT
-    vmaddr:          4294967296
-    vmsize:          16384
-    fileoff:         0
-    filesize:        16384
-    maxprot:         5
-    initprot:        5
-    nsects:          11
-    flags:           0
-    Sections:
-      - sectname:        __text
-        segname:         __TEXT
-        addr:            0x100003EB0
-        size:            336
-        offset:          0x3EB0
-        align:           3
-        reloff:          0x0
-        nreloc:          0
-        flags:           0x0
-        reserved1:       0x0
-        reserved2:       0x0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         392
-    segname:         __DATA_CONST
-    vmaddr:          4294983680
-    vmsize:          16384
-    fileoff:         16384
-    filesize:        16384
-    maxprot:         3
-    initprot:        3
-    nsects:          4
-    flags:           16
-    Sections:
-      - sectname:        __got
-        segname:         __DATA_CONST
-        addr:            0x100004000
-        size:            48
-        offset:          0x4000
-        align:           3
-        reloff:          0x0
-        nreloc:          0
-        flags:           0x6
-        reserved1:       0x11
-        reserved2:       0x0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         392
-    segname:         __DATA
-    vmaddr:          4295000064
-    vmsize:          16384
-    fileoff:         32768
-    filesize:        16384
-    maxprot:         3
-    initprot:        3
-    nsects:          4
-    flags:           0
-    Sections:
-      - sectname:        __la_symbol_ptr
-        segname:         __DATA
-        addr:            0x100008000
-        size:            384
-        offset:          0x8088
-        align:           3
-        reloff:          0x0
-        nreloc:          0
-        flags:           0x0
-        reserved1:       0x0
-        reserved2:       0x0
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         72
-    segname:         __LINKEDIT
-    vmaddr:          4295016448
-    vmsize:          32768
-    fileoff:         49152
-    filesize:        23584
-    maxprot:         1
-    initprot:        1
-    nsects:          0
-    flags:           0
-  - cmd:             LC_DYLD_INFO_ONLY
-    cmdsize:         48
-    rebase_off:      49152
-    rebase_size:     64
-    bind_off:        49216
-    bind_size:       216
-    weak_bind_off:   0
-    weak_bind_size:  0
-    lazy_bind_off:   49432
-    lazy_bind_size:  600
-    export_off:      50032
-    export_size:     1000
-  - cmd:             LC_SYMTAB
-    cmdsize:         24
-    symoff:          51136
-    nsyms:           638
-    stroff:          61504
-    strsize:         11232
-  - cmd:             LC_DYSYMTAB
-    cmdsize:         80
-    ilocalsym:       0
-    nlocalsym:       560
-    iextdefsym:      560
-    nextdefsym:      52
-    iundefsym:       612
-    nundefsym:       26
-    tocoff:          0
-    ntoc:            0
-    modtaboff:       0
-    nmodtab:         0
-    extrefsymoff:    0
-    nextrefsyms:     0
-    indirectsymoff:  61344
-    nindirectsyms:   40
-    extreloff:       0
-    nextrel:         0
-    locreloff:       0
-    nlocrel:         0
-  - cmd:             LC_LOAD_DYLINKER
-    cmdsize:         32
-    name:            12
-  - cmd:             LC_UUID
-    cmdsize:         24
-    uuid:            AA0A51FA-8B29-3A7B-85AA-FA6A457B2211
-  - cmd:             LC_BUILD_VERSION
-    cmdsize:         32
-    platform:        1
-    minos:           786432
-    sdk:             786688
-    ntools:          1
-  - cmd:             LC_SOURCE_VERSION
-    cmdsize:         16
-    version:         0
-  - cmd:             LC_MAIN
-    cmdsize:         24
-    entryoff:        9376
-    stacksize:       0
-  - cmd:             LC_LOAD_DYLIB
-    cmdsize:         56
-    dylib:
-      name:            24
-      timestamp:       2
-      current_version: 14942208
-      compatibility_version: 65536
-  - cmd:             LC_LOAD_DYLIB
-    cmdsize:         56
-    dylib:
-      name:            24
-      timestamp:       2
-      current_version: 85917696
-      compatibility_version: 65536
-  - cmd:             LC_LOAD_DYLIB
-    cmdsize:         64
-    dylib:
-      name:            24
-      timestamp:       2
-      current_version: 85196845
-      compatibility_version: 65536
-  - cmd:             LC_FUNCTION_STARTS
-    cmdsize:         16
-    dataoff:         51032
-    datasize:        104
-  - cmd:             LC_DATA_IN_CODE
-    cmdsize:         16
-    dataoff:         51136
-    datasize:        0
-LinkEditData:
-  NameList:
-    - n_strx:          2355
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976208
-    - n_strx:          2398
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976224
-    - n_strx:          2440
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976240
-    - n_strx:          2479
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976256
-    - n_strx:          2509
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294976272
-    - n_strx:          2570
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976320
-    - n_strx:          2590
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294976512
-    - n_strx:          2635
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294976576
-    - n_strx:          2683
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294976608
-    - n_strx:          2731
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976640
-    - n_strx:          2751
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976656
-    - n_strx:          2775
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976704
-    - n_strx:          2791
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294976720
-    - n_strx:          2814
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976752
-    - n_strx:          2838
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976768
-    - n_strx:          2873
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294976784
-    - n_strx:          2906
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294976832
-    - n_strx:          2926
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294977104
-    - n_strx:          2946
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294977200
-    - n_strx:          2966
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977376
-    - n_strx:          3008
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977392
-    - n_strx:          3049
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977408
-    - n_strx:          3087
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977424
-    - n_strx:          3116
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294977440
-    - n_strx:          3176
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977488
-    - n_strx:          3201
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977504
-    - n_strx:          3232
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977552
-    - n_strx:          3270
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977648
-    - n_strx:          3318
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294977664
-    - n_strx:          3364
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294978352
-    - n_strx:          3411
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294978464
-    - n_strx:          3447
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294978688
-    - n_strx:          3506
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294978832
-    - n_strx:          3567
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294978944
-    - n_strx:          3587
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979024
-    - n_strx:          3607
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979056
-    - n_strx:          3627
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979136
-    - n_strx:          3647
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294979232
-    - n_strx:          3666
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979264
-    - n_strx:          3686
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979328
-    - n_strx:          3706
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979536
-    - n_strx:          3726
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979856
-    - n_strx:          3746
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979872
-    - n_strx:          3766
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979888
-    - n_strx:          3786
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979920
-    - n_strx:          3814
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294979936
-    - n_strx:          3842
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294980240
-    - n_strx:          3871
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294980288
-    - n_strx:          3898
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294980320
-    - n_strx:          3927
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294980368
-    - n_strx:          3951
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294980384
-    - n_strx:          3982
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294980448
-    - n_strx:          4001
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294980464
-    - n_strx:          4032
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294980512
-    - n_strx:          4060
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294980800
-    - n_strx:          4088
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294981120
-    - n_strx:          4116
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294981136
-    - n_strx:          4144
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294981152
-    - n_strx:          4172
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294981184
-    - n_strx:          4208
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294981248
-    - n_strx:          4225
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          128
-      n_value:         4294981280
-    - n_strx:          4253
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294981328
-    - n_strx:          4276
-      n_type:          0x1E
-      n_sect:          1
-      n_desc:          0
-      n_value:         4294981376
-    - n_strx:          4294
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          128
-      n_value:         4294981764
-    - n_strx:          4306
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294981824
-    - n_strx:          4322
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294981952
-    - n_strx:          4349
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294981960
-    - n_strx:          4387
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294981968
-    - n_strx:          4423
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294982160
-    - n_strx:          4474
-      n_type:          0xE
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294982352
-    - n_strx:          4503
-      n_type:          0xE
-      n_sect:          5
-      n_desc:          0
-      n_value:         4294982448
-    - n_strx:          4530
-      n_type:          0x1E
-      n_sect:          5
-      n_desc:          128
-      n_value:         4294982464
-    - n_strx:          4558
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982466
-    - n_strx:          4571
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982470
-    - n_strx:          4608
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982476
-    - n_strx:          4639
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982498
-    - n_strx:          4666
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982506
-    - n_strx:          4691
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982510
-    - n_strx:          4727
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982516
-    - n_strx:          4758
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982522
-    - n_strx:          4790
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982528
-    - n_strx:          4820
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982534
-    - n_strx:          4859
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982540
-    - n_strx:          4902
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982554
-    - n_strx:          4945
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         4294982564
-    - n_strx:          4986
-      n_type:          0x1E
-      n_sect:          6
-      n_desc:          128
-      n_value:         0
-    - n_strx:          5987
-      n_type:          0x66
-      n_sect:          3
-      n_desc:          1
-      n_value:         1638431181
-    - n_strx:          7104
-      n_type:          0x66
-      n_sect:          3
-      n_desc:          1
-      n_value:         1638431191
-  StringTable:
-    - ' '
-    - '_$s4main10MyProtocolMp'
-    - '_$s4main10MyProtocolTL'
-    - '_$s4main11ConformanceV5innerSivM'
-    - '_$s4main11ConformanceV5innerSivg'
-    - '_$s4main11ConformanceV5innerSivpMV'
-    - '_$s4main11ConformanceV5innerSivpfi'
-    - '_$s4main11ConformanceV5innerSivs'
-    - '_$s4main11ConformanceVAA10MyProtocolAAMc'
-    - '_$s4main11ConformanceVAA10MyProtocolAAWP'
-    - '_$s4main11ConformanceVMa'
-    - '_$s4main11ConformanceVMn'
-    - '_$s4main11ConformanceVN'
-    - '_$s4main12Conformance2V5innerSivM'
-    - '_$s4main12Conformance2V5innerSivg'
-    - '_$s4main12Conformance2V5innerSivpMV'
-    - '_$s4main12Conformance2V5innerSivpfi'
-    - '_$s4main12Conformance2V5innerSivs'
-    - '_$s4main12Conformance2VAA10MyProtocolAAMc'
-    - '_$s4main12Conformance2VAA10MyProtocolAAWP'
-    - '_$s4main12Conformance2VMa'
-    - '_$s4main12Conformance2VMn'
-    - '_$s4main12Conformance2VN'
-    - '_$s4main13MyGenericEnumOMa'
-    - '_$s4main13MyGenericEnumOMn'
-    - '_$s4main14MyGenericClassC1t1i3mgs3mgeACyxGx_5InnerQzAA0bC6StructVyxGAA0bC4EnumOyxGtcfC'
-    - '_$s4main14MyGenericClassC1t1i3mgs3mgeACyxGx_5InnerQzAA0bC6StructVyxGAA0bC4EnumOyxGtcfCTq'
-    - '_$s4main14MyGenericClassC1t1i3mgs3mgeACyxGx_5InnerQzAA0bC6StructVyxGAA0bC4EnumOyxGtcfc'
-    - '_$s4main14MyGenericClassCMa'
-    - '_$s4main14MyGenericClassCMn'
-    - '_$s4main14MyGenericClassCfD'
-    - '_$s4main14MyGenericClassCfd'
-    - '_$s4main15MyGenericStructVMa'
-    - '_$s4main15MyGenericStructVMn'
-    - '_$s4main16makeSomeClosures1tyycx_tAA10MyProtocolRzlF'
-    - '_$s4main6MyEnumOMa'
-    - '_$s4main6MyEnumOMn'
-    - '_$s4main6MyEnumON'
-    - '_$s4main7MyClassC1i2ms2meACSi_AA0B6StructVAA0B4EnumOtcfC'
-    - '_$s4main7MyClassC1i2ms2meACSi_AA0B6StructVAA0B4EnumOtcfCTq'
-    - '_$s4main7MyClassC1i2ms2meACSi_AA0B6StructVAA0B4EnumOtcfc'
-    - '_$s4main7MyClassCMa'
-    - '_$s4main7MyClassCMm'
-    - '_$s4main7MyClassCMn'
-    - '_$s4main7MyClassCN'
-    - '_$s4main7MyClassCfD'
-    - '_$s4main7MyClassCfd'
-    - '_$s4main8MyStructVMa'
-    - '_$s4main8MyStructVMn'
-    - '_$s4main8MyStructVN'
-    - '_$s5Inner4main10MyProtocolPTl'
-    - __mh_execute_header
-    - _main
-    - '_$sBi64_WV'
-    - '_$sBoWV'
-    - '_$sSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC'
-    - '_$sSSN'
-    - '_$sSaMa'
-    - '_$ss27_allocateUninitializedArrayySayxG_BptBwlF'
-    - '_$ss5print_9separator10terminatoryypd_S2StF'
-    - '_$sypN'
-    - '_$sytWV'
-    - '_OBJC_CLASS_$__TtCs12_SwiftObject'
-    - '_OBJC_METACLASS_$__TtCs12_SwiftObject'
-    - __objc_empty_cache
-    - _objc_opt_self
-    - _swift_allocObject
-    - _swift_allocateGenericClassMetadata
-    - _swift_allocateGenericValueMetadata
-    - _swift_bridgeObjectRelease
-    - _swift_checkMetadataState
-    - _swift_deallocClassInstance
-    - _swift_deallocObject
-    - _swift_getAssociatedTypeWitness
-    - _swift_getGenericMetadata
-    - _swift_initClassMetadata2
-    - _swift_release
-    - _swift_retain
-    - dyld_stub_binder
-    - '_$s4main12Conformance2V5innerSivM.resume.0'
-    - '_$s4main12Conformance2V5innerACSi_tcfcfA_'
-    - '_$s4main12Conformance2V5innerACSi_tcfC'
-    - '_$s4main12Conformance2VACycfC'
-    - '_$s4main12Conformance2VAA10MyProtocolA2aDP5inner5InnerQzvgTW'
-    - '_$s4main3AppVAAyyFZ'
-    - '_$ss27_finalizeUninitializedArrayySayxGABnlF'
-    - '_$ss5print_9separator10terminatoryypd_S2StFfA0_'
-    - '_$ss5print_9separator10terminatoryypd_S2StFfA1_'
-    - '_$s4main3AppVACycfC'
-    - '_$s4main3AppV5$mainyyFZ'
-    - '_$s4main3AppVMa'
-    - '_$sSa12_endMutationyyF'
-    - '_$s4main7MyClassC1iSivg'
-    - '_$s4main7MyClassC2msAA0B6StructVvg'
-    - '_$s4main7MyClassC2meAA0B4EnumOvg'
-    - '_$s4main6MyEnumOWOy'
-    - '_$s4main6MyEnumOWOe'
-    - '_$s4main6MyEnumOWOh'
-    - '_$s4main11ConformanceV5innerSivM.resume.0'
-    - '_$s4main11ConformanceV5innerACSi_tcfcfA_'
-    - '_$s4main11ConformanceV5innerACSi_tcfC'
-    - '_$s4main11ConformanceVACycfC'
-    - '_$s4main11ConformanceVAA10MyProtocolA2aDP5inner5InnerQzvgTW'
-    - '_$s4main8MyStructVACycfC'
-    - '_$s4main14MyGenericClassC1txvg'
-    - '_$s4main14MyGenericClassC1i5InnerQzvg'
-    - '_$s4main14MyGenericClassC3mgsAA0bC6StructVyxGvg'
-    - '_$s4main14MyGenericClassC3mgeAA0bC4EnumOyxGvg'
-    - '_$s4main13MyGenericEnumOyxGAA0B8ProtocolRzlWOh'
-    - '_$s4main15MyGenericStructVACyxGycfC'
-    - '_$s4main16makeSomeClosures1tyycx_tAA10MyProtocolRzlFyycfU_'
-    - '_$s4main16makeSomeClosures1tyycx_tAA10MyProtocolRzlFyycfU_TA'
-    - '_$s4main6MyEnumOwCP'
-    - '_$s4main6MyEnumOwxx'
-    - '_$s4main6MyEnumOwcp'
-    - '_$s4main6MyEnumOwca'
-    - ___swift_memcpy9_8
-    - '_$s4main6MyEnumOwta'
-    - '_$s4main6MyEnumOwet'
-    - '_$s4main6MyEnumOwst'
-    - '_$s4main6MyEnumOwug'
-    - '_$s4main6MyEnumOwup'
-    - '_$s4main6MyEnumOwui'
-    - '_$s4main14MyGenericClassCMi'
-    - '_$s4main14MyGenericClassCMr'
-    - '_$s4main15MyGenericStructVMi'
-    - '_$s4main13MyGenericEnumOMi'
-    - ___swift_initWithCopy_strong
-    - ___swift_destroy_strong
-    - ___swift_assignWithCopy_strong
-    - ___swift_memcpy8_8
-    - ___swift_assignWithTake_strong
-    - '_$s4main13MyGenericEnumOwet'
-    - '_$s4main13MyGenericEnumOwst'
-    - '_$s4main13MyGenericEnumOwug'
-    - '_$s4main13MyGenericEnumOwup'
-    - '_$s4main13MyGenericEnumOwui'
-    - ___swift_instantiateGenericMetadata
-    - ___chkstk_darwin
-    - ___chkstk_darwin_llvm_probe
-    - ___chkstk_darwin_probe
-    - ____chkstk_darwin
-    - '_$s4mainMXM'
-    - '_$s4main3AppVMn'
-    - '_$s4main7MyClassC1iSivpWvd'
-    - '_$s4main7MyClassC2msAA0B6StructVvpWvd'
-    - '_$s4main7MyClassC2meAA0B4EnumOvpWvd'
-    - '_$s4main14MyGenericClassC3mgsAA0bC6StructVyxGvpWvd'
-    - '_$s4main15MyGenericStructVMP'
-    - '_$s4main13MyGenericEnumOMP'
-    - ___swift_reflection_version
-    - _symbolic Si
-    - _symbolic _____ 4main12Conformance2V
-    - '_symbolic $s4main10MyProtocolP'
-    - _symbolic _____ 4main3AppV
-    - _symbolic x
-    - _symbolic B0
-    - _symbolic _____ 4main11ConformanceV
-    - _symbolic _____ 4main7MyClassC
-    - _symbolic _____ 4main8MyStructV
-    - _symbolic _____ 4main6MyEnumO
-    - _symbolic _____ 4main14MyGenericClassC
-    - _symbolic 5Inner_____Qz 4main10MyProtocolP
-    - _symbolic _____yxG 4main15MyGenericStructV
-    - _symbolic _____yxG 4main13MyGenericEnumO
-    - _symbolic _____ 4main15MyGenericStructV
-    - _symbolic _____ 4main13MyGenericEnumO
-    - _symbolic _____yxG 4main14MyGenericClassC
-    - '_$s4main12Conformance2VAA10MyProtocolAAMA'
-    - '_$s4main11ConformanceVAA10MyProtocolAAMA'
-    - '_$s4main12Conformance2VMF'
-    - '_$s4main3AppVMF'
-    - '_$s4main10MyProtocol_pMF'
-    - '_$s4main7MyClassCMF'
-    - '_$s4main11ConformanceVMF'
-    - '_$s4main8MyStructVMF'
-    - '_$s4main6MyEnumOMF'
-    - '_$s4main14MyGenericClassCMF'
-    - '_$s4main15MyGenericStructVMF'
-    - '_$s4main13MyGenericEnumOMF'
-    - '_$s4main6MyEnumOMB'
-    - '_$s4main12Conformance2VMf'
-    - '_$s4main3AppVMf'
-    - '_$s4main3AppVN'
-    - '_$s4main11ConformanceVMf'
-    - '_$s4main8MyStructVMf'
-    - '_$s4main6MyEnumOWV'
-    - '_$s4main6MyEnumOMf'
-    - ___unnamed_23
-    - '_$s4main14MyGenericClassCMP'
-    - '_$s4main13MyGenericEnumOWV'
-    - __METACLASS_DATA__TtC4main7MyClass
-    - __IVARS__TtC4main7MyClass
-    - __DATA__TtC4main7MyClass
-    - __IVARS__TtC4main14MyGenericClass
-    - __dyld_private
-    - '_$s4main7MyClassCMf'
-    - '_$s4main14MyGenericClassCMI'
-    - '_$s4main15MyGenericStructVMI'
-    - '_$s4main13MyGenericEnumOMI'
-    - '/tmp/main-1.swiftmodule'
-    - '/Users/shubham/Development/test76973336/final2objfiletest/'
-    - test.swift
-    - '/tmp/test-1.o'
-    - '_$s4main12Conformance2V5innerSivpfi'
-    - '_$s4main12Conformance2V5innerSivg'
-    - '_$s4main12Conformance2V5innerSivs'
-    - '_$s4main12Conformance2V5innerSivM'
-    - '_$s4main12Conformance2V5innerSivM.resume.0'
-    - '_$s4main12Conformance2V5innerACSi_tcfcfA_'
-    - '_$s4main12Conformance2V5innerACSi_tcfC'
-    - '_$s4main12Conformance2VACycfC'
-    - '_$s4main12Conformance2VAA10MyProtocolA2aDP5inner5InnerQzvgTW'
-    - '_$s4main3AppVAAyyFZ'
-    - '_$ss27_finalizeUninitializedArrayySayxGABnlF'
-    - '_$ss5print_9separator10terminatoryypd_S2StFfA0_'
-    - '_$ss5print_9separator10terminatoryypd_S2StFfA1_'
-    - '_$s4main3AppVACycfC'
-    - '_$s4main3AppV5$mainyyFZ'
-    - _main
-    - '_$s4main12Conformance2VMa'
-    - '_$s4main3AppVMa'
-    - '_$sSa12_endMutationyyF'
-    - '_$s4main12Conformance2VAA10MyProtocolAAMc'
-    - '_$s4main12Conformance2V5innerSivpMV'
-    - '_$s4mainMXM'
-    - '_$s4main12Conformance2VMn'
-    - '_$s4main3AppVMn'
-    - _symbolic Si
-    - _symbolic _____ 4main12Conformance2V
-    - '_symbolic $s4main10MyProtocolP'
-    - _symbolic _____ 4main3AppV
-    - '_$s4main12Conformance2VAA10MyProtocolAAMA'
-    - '_$s4main12Conformance2VMF'
-    - '_$s4main3AppVMF'
-    - '_$s4main12Conformance2VMf'
-    - '_$s4main12Conformance2VN'
-    - '_$s4main3AppVMf'
-    - '_$s4main3AppVN'
-    - '_$s4main12Conformance2VAA10MyProtocolAAWP'
-    - reflection_metadata.swift
-    - '/tmp/reflection_metadata-1.o'

diff  --git a/llvm/test/tools/dsymutil/Inputs/reflection_metadata.yaml b/llvm/test/tools/dsymutil/Inputs/reflection_metadata.yaml
deleted file mode 100644
index b2179a23bf28d..0000000000000
--- a/llvm/test/tools/dsymutil/Inputs/reflection_metadata.yaml
+++ /dev/null
@@ -1,436 +0,0 @@
-# How to generate this file:
-# 1. First take a swift file and run xcrun swiftc -g -v file.swift 
-# secondfile.swift, make sure the two swift files are in a short path like /tmp/
-
-# 2. Now you can see what the driver does, generate the object files in the 
-# tmp directory
-
-# 3. Run obj2yaml on object file to create a yaml file
-
-# 4. I ran delta to reduce this file.
-
---- !mach-o
-FileHeader:
-  magic:           0xFEEDFACF
-  cputype:         0x1000007
-  cpusubtype:      0x3
-  filetype:        0x1
-  ncmds:           8
-  sizeofcmds:      2800
-  flags:           0x2000
-  reserved:        0x0
-LoadCommands:
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         2552
-    segname:         ''
-    vmaddr:          0
-    vmsize:          21352
-    fileoff:         2832
-    filesize:        20967
-    maxprot:         7
-    initprot:        7
-    nsects:          31
-    flags:           0
-    Sections:
-      - sectname:        __text
-        segname:         __TEXT
-        addr:            0x0
-        size:            4571
-        offset:          0xB10
-        align:           4
-        reloff:          0x5CF8
-        nreloc:          74
-        flags:           0x80000400
-        reserved1:       0x0
-        reserved2:       0x0
-        relocations:
-          - address:         0x11A1
-            symbolnum:       142
-            pcrel:           true
-            length:          2
-            extern:          true
-            type:            1
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_typeref
-        segname:         __TEXT
-        addr:            0x11DC
-        size:            117
-        offset:          0x1CEC
-        align:           1
-        reloff:          0x5F48
-        nreloc:          22
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         7800423000005369000001FFFFFFFF002473346D61696E31304D7950726F746F636F6C50000001FFFFFFFF0001FFFFFFFF0001FFFFFFFF0001FFFFFFFF0035496E6E657201F9FFFFFF517A0001FFFFFFFF797847000001FFFFFFFF797847000001FFFFFFFF0001FFFFFFFF0001FFFFFFFF79784700
-        relocations:
-          - address:         0x6D
-            symbolnum:       163
-            pcrel:           false
-            length:          2
-            extern:          true
-            type:            0
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_capture
-        segname:         __TEXT
-        addr:            0x1254
-        size:            24
-        offset:          0x1D64
-        align:           2
-        reloff:          0x5FF8
-        nreloc:          6
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         010000000100000002000000F4FFFFFFF0FFFFFFECFFFFFF
-        relocations:
-          - address:         0x14
-            symbolnum:       29
-            pcrel:           false
-            length:          3
-            extern:          true
-            type:            0
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_reflstr
-        segname:         __TEXT
-        addr:            0x17D8
-        size:            37
-        offset:          0x22E8
-        align:           0
-        reloff:          0x0
-        nreloc:          0
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         496E6E65720069006D73006D6500696E6E6572004300490074006D6773006D676500474300
-      - sectname:        __swift5_assocty
-        segname:         __TEXT
-        addr:            0x1800
-        size:            24
-        offset:          0x2310
-        align:           2
-        reloff:          0x6530
-        nreloc:          8
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         00000000FCFFFFFF0100000008000000F0FFFFFFECFFFFFF
-        relocations:
-          - address:         0x14
-            symbolnum:       31
-            pcrel:           false
-            length:          2
-            extern:          true
-            type:            5
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_fieldmd
-        segname:         __TEXT
-        addr:            0x1818
-        size:            260
-        offset:          0x2328
-        align:           2
-        reloff:          0x6570
-        nreloc:          60
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         000000000000000004000C0000000000000000000000000001000C000300000000000000ECFFFFFFE8FFFFFF00000000E0FFFFFFDCFFFFFF00000000D4FFFFFFD0FFFFFF000000000000000000000C000100000002000000ECFFFFFFE8FFFFFF000000000000000000000C0000000000000000000000000003000C000200000000000000ECFFFFFFE8FFFFFF00000000E0FFFFFFDCFFFFFF000000000000000001000C000400000000000000ECFFFFFFE8FFFFFF00000000E0FFFFFFDCFFFFFF00000000D4FFFFFFD0FFFFFF00000000C8FFFFFFC4FFFFFF000000000000000000000C0000000000000000000000000002000C000100000000000000ECFFFFFFE8FFFFFF
-        relocations:
-          - address:         0x100
-            symbolnum:       71
-            pcrel:           false
-            length:          2
-            extern:          true
-            type:            0
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_builtin
-        segname:         __TEXT
-        addr:            0x1AC8
-        size:            20
-        offset:          0x25D8
-        align:           2
-        reloff:          0x67F8
-        nreloc:          2
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         00000000090000000800010010000000FE000000
-        relocations:
-          - address:         0x0
-            symbolnum:       52
-            pcrel:           false
-            length:          2
-            extern:          true
-            type:            5
-            scattered:       false
-            value:           0
-      - sectname:        __bss
-        segname:         __DATA
-        addr:            0x3372
-        size:            2084
-        offset:          0x50B0
-        align:           3
-        reloff:          0x0
-        nreloc:          0
-        flags:           0x6800000B
-        reserved1:       0x0
-        reserved2:       0x0
-        relocations:
-          - address:         0x56
-            symbolnum:       1
-            pcrel:           false
-            length:          3
-            extern:          false
-            type:            0
-            scattered:       false
-            value:           0
-  - cmd:             LC_BUILD_VERSION
-    cmdsize:         24
-    platform:        1
-    minos:           786432
-    sdk:             786688
-    ntools:          0
-  - cmd:             LC_SYMTAB
-    cmdsize:         24
-    symoff:          27888
-    nsyms:           185
-    stroff:          30848
-    strsize:         5056
-  - cmd:             LC_DYSYMTAB
-    cmdsize:         80
-    ilocalsym:       0
-    nlocalsym:       79
-    iextdefsym:      79
-    nextdefsym:      87
-    iundefsym:       166
-    nundefsym:       19
-    tocoff:          0
-    ntoc:            0
-    modtaboff:       0
-    nmodtab:         0
-    extrefsymoff:    0
-    nextrefsyms:     0
-    indirectsymoff:  0
-    nindirectsyms:   0
-    extreloff:       0
-    nextrel:         0
-    locreloff:       0
-    nlocrel:         0
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         40
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x53, 
-                       0x0, 0x0, 0x0, 0x0 ]
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         24
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x43, 
-                       0x6F, 0x72, 0x65, 0x0 ]
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         32
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5F, 
-                       0x6E, 0x63, 0x79, 0x0 ]
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         24
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x6F, 0x62, 0x6A, 0x63, 0x0, 0x0, 0x0, 
-                       0x0, 0x0, 0x0 ]
-LinkEditData:
-  NameList:
-    - n_strx:          5014
-      n_type:          0xE
-      n_sect:          1
-      n_desc:          0
-      n_value:         5600
-  StringTable:
-    - ''
-    - l_objectdestroy
-    - '_$s4main6MyEnumOWOy'
-    - '_$s4main6MyEnumOwxx'
-    - _symbolic x
-    - '_$s4main6MyEnumOwst'
-    - '_$s4main13MyGenericEnumOwst'
-    - '_$s4main6MyEnumOwet'
-    - '_$s4main13MyGenericEnumOwet'
-    - '_OBJC_CLASS_$__TtCs12_SwiftObject'
-    - '_OBJC_METACLASS_$__TtCs12_SwiftObject'
-    - _swift_deallocObject
-    - _swift_allocObject
-    - '_$s4main11ConformanceV5innerSivs'
-    - _swift_getAssociatedTypeWitness
-    - __IVARS__TtC4main7MyClass
-    - __DATA__TtC4main7MyClass
-    - __METACLASS_DATA__TtC4main7MyClass
-    - __IVARS__TtC4main14MyGenericClass
-    - l_protocols
-    - _objc_classes
-    - l_protocol_conformances
-    - l__swift5_reflection_descriptor
-    - l_coro.devirt.trigger
-    - '_$s4main14MyGenericClassCMr'
-    - '_$s4main7MyClassC1i2ms2meACSi_AA0B6StructVAA0B4EnumOtcfCTq'
-    - '_$s4main14MyGenericClassC1t1i3mgs3mgeACyxGx_5InnerQzAA0bC6StructVyxGAA0bC4EnumOyxGtcfCTq'
-    - '_$s4main6MyEnumOwup'
-    - '_$s4main13MyGenericEnumOwup'
-    - '_$s4main6MyEnumOwcp'
-    - '_$s4main10MyProtocolMp'
-    - ___swift_reflection_version
-    - ____chkstk_darwin
-    - _swift_retain
-    - '_$s4main8MyStructVMn'
-    - '_$s4main15MyGenericStructVMn'
-    - '_$s4main11ConformanceVMn'
-    - '_$s4main6MyEnumOMn'
-    - '_$s4main13MyGenericEnumOMn'
-    - '_$s4main7MyClassCMn'
-    - '_$s4main14MyGenericClassCMn'
-    - '_$s4main7MyClassCMm'
-    - '_$s5Inner4main10MyProtocolPTl'
-    - '_$s4main6MyEnumOwui'
-    - '_$s4main13MyGenericEnumOwui'
-    - '_$s4main11ConformanceV5innerSivpfi'
-    - _symbolic Si
-    - '_$s4main15MyGenericStructVMi'
-    - '_$s4main13MyGenericEnumOMi'
-    - '_$s4main14MyGenericClassCMi'
-    - l_llvm.swift_module_hash
-    - '_$s4main13MyGenericEnumOyxGAA0B8ProtocolRzlWOh'
-    - '_$s4main6MyEnumOWOh'
-    - '_$s4main14MyGenericClassC1i5InnerQzvg'
-    - '_$s4main14MyGenericClassC1txvg'
-    - '_$s4main11ConformanceV5innerSivg'
-    - '_$s4main7MyClassC1iSivg'
-    - '_$s4main7MyClassC2msAA0B6StructVvg'
-    - '_$s4main7MyClassC2meAA0B4EnumOvg'
-    - '_$s4main14MyGenericClassC3mgsAA0bC6StructVyxGvg'
-    - '_$s4main14MyGenericClassC3mgeAA0bC4EnumOyxGvg'
-    - '_$s4main6MyEnumOwug'
-    - '_$s4main13MyGenericEnumOwug'
-    - ___swift_initWithCopy_strong
-    - ___swift_assignWithCopy_strong
-    - ___swift_destroy_strong
-    - ___swift_assignWithTake_strong
-    - _objc_opt_self
-    - '_$s4main8MyStructVMf'
-    - '_$s4main11ConformanceVMf'
-    - '_$s4main6MyEnumOMf'
-    - '_$s4main7MyClassCMf'
-    - _swift_checkMetadataState
-    - _swift_release
-    - l_type_metadata_table
-    - __objc_empty_cache
-    - _swift_deallocClassInstance
-    - ___chkstk_darwin_llvm_probe
-    - '_$s4main6MyEnumOWOe'
-    - '_$s4main7MyClassC1iSivpWvd'
-    - '_$s4main7MyClassC2msAA0B6StructVvpWvd'
-    - '_$s4main7MyClassC2meAA0B4EnumOvpWvd'
-    - '_$s4main14MyGenericClassC3mgsAA0bC6StructVyxGvpWvd'
-    - '_$s4main7MyClassCfd'
-    - '_$s4main14MyGenericClassCfd'
-    - '_$s4main7MyClassC1i2ms2meACSi_AA0B6StructVAA0B4EnumOtcfc'
-    - '_$s4main14MyGenericClassC1t1i3mgs3mgeACyxGx_5InnerQzAA0bC6StructVyxGAA0bC4EnumOyxGtcfc'
-    - '_$s4main11ConformanceVAA10MyProtocolAAMc'
-    - '_$s4main6MyEnumOwta'
-    - l_metadata
-    - _swift_allocateGenericClassMetadata
-    - _swift_allocateGenericValueMetadata
-    - _swift_getGenericMetadata
-    - ___swift_instantiateGenericMetadata
-    - '_$s4main6MyEnumOwca'
-    - '_$s4main8MyStructVMa'
-    - '_$s4main15MyGenericStructVMa'
-    - '_$s4main11ConformanceVMa'
-    - '_$s4main6MyEnumOMa'
-    - '_$s4main13MyGenericEnumOMa'
-    - '_$s4main7MyClassCMa'
-    - '_$s4main14MyGenericClassCMa'
-    - '_$s4main16makeSomeClosures1tyycx_tAA10MyProtocolRzlFyycfU_'
-    - '_$s4main11ConformanceV5innerACSi_tcfcfA_'
-    - '_$s4main11ConformanceVAA10MyProtocolA2aDP5inner5InnerQzvgTW'
-    - _symbolic _____ 4main8MyStructV
-    - _symbolic _____ 4main15MyGenericStructV
-    - _symbolic _____yxG 4main15MyGenericStructV
-    - _symbolic _____ 4main11ConformanceV
-    - '_$sytWV'
-    - '_$sBoWV'
-    - '_$sBi64_WV'
-    - '_$s4main6MyEnumOWV'
-    - '_$s4main13MyGenericEnumOWV'
-    - '_$s4main11ConformanceV5innerSivpMV'
-    - '_symbolic $s4main10MyProtocolP'
-    - _symbolic 5Inner_____Qz 4main10MyProtocolP
-    - '_$s4main11ConformanceVAA10MyProtocolAAWP'
-    - '_$s4main15MyGenericStructVMP'
-    - '_$s4main13MyGenericEnumOMP'
-    - '_$s4main14MyGenericClassCMP'
-    - '_$s4main6MyEnumOwCP'
-    - _symbolic _____ 4main6MyEnumO
-    - _symbolic _____ 4main13MyGenericEnumO
-    - _symbolic _____yxG 4main13MyGenericEnumO
-    - '_$s4main8MyStructVN'
-    - '_$s4main11ConformanceVN'
-    - '_$s4main6MyEnumON'
-    - '_$s4main7MyClassCN'
-    - '_$s4main11ConformanceV5innerSivM'
-    - '_$s4mainMXM'
-    - '_$s4main10MyProtocolTL'
-    - '_$s4main15MyGenericStructVMI'
-    - '_$s4main13MyGenericEnumOMI'
-    - '_$s4main14MyGenericClassCMI'
-    - '_$s4main16makeSomeClosures1tyycx_tAA10MyProtocolRzlF'
-    - '_$s4main10MyProtocol_pMF'
-    - '_$s4main8MyStructVMF'
-    - '_$s4main15MyGenericStructVMF'
-    - '_$s4main11ConformanceVMF'
-    - '_$s4main6MyEnumOMF'
-    - '_$s4main13MyGenericEnumOMF'
-    - '_$s4main7MyClassCMF'
-    - '_$s4main14MyGenericClassCMF'
-    - '_$s4main7MyClassCfD'
-    - '_$s4main14MyGenericClassCfD'
-    - _symbolic _____ 4main7MyClassC
-    - _symbolic _____ 4main14MyGenericClassC
-    - _symbolic _____yxG 4main14MyGenericClassC
-    - '_$s4main15MyGenericStructVACyxGycfC'
-    - '_$s4main8MyStructVACycfC'
-    - '_$s4main11ConformanceVACycfC'
-    - '_$s4main11ConformanceV5innerACSi_tcfC'
-    - '_$s4main7MyClassC1i2ms2meACSi_AA0B6StructVAA0B4EnumOtcfC'
-    - '_$s4main14MyGenericClassC1t1i3mgs3mgeACyxGx_5InnerQzAA0bC6StructVyxGAA0bC4EnumOyxGtcfC'
-    - '_$s4main6MyEnumOMB'
-    - '_$s4main16makeSomeClosures1tyycx_tAA10MyProtocolRzlFyycfU_TA'
-    - '_$s4main11ConformanceVAA10MyProtocolAAMA'
-    - l___unnamed_29
-    - l___unnamed_19
-    - ___swift_memcpy9_8
-    - ___swift_memcpy8_8
-    - l___unnamed_28
-    - l___unnamed_18
-    - l___unnamed_27
-    - l___unnamed_17
-    - l___unnamed_26
-    - l___unnamed_16
-    - l___unnamed_25
-    - l___unnamed_15
-    - l___unnamed_4
-    - l___unnamed_24
-    - l___unnamed_14
-    - l___unnamed_3
-    - ___unnamed_23
-    - l___unnamed_13
-    - _swift_initClassMetadata2
-    - l___unnamed_2
-    - l___unnamed_12
-    - l___unnamed_1
-    - l___unnamed_11
-    - _symbolic B0
-    - l___unnamed_30
-    - l___unnamed_10
-    - '_$s4main11ConformanceV5innerSivM.resume.0'

diff  --git a/llvm/test/tools/dsymutil/Inputs/test.yaml b/llvm/test/tools/dsymutil/Inputs/test.yaml
deleted file mode 100644
index da3aa9a8aaf34..0000000000000
--- a/llvm/test/tools/dsymutil/Inputs/test.yaml
+++ /dev/null
@@ -1,254 +0,0 @@
-# How to generate this file:
-# 1. First take a swift file and run xcrun swiftc -g -v file.swift 
-# secondfile.swift, make sure the two swift files are in a short path like /tmp/
-
-# 2. Now you can see what the driver does, generate the object files in the 
-# tmp directory
-
-# 3. Run obj2yaml on object file to create a yaml file
-
-# 4. I ran delta to reduce this file.
-
---- !mach-o
-FileHeader:
-  magic:           0xFEEDFACF
-  cputype:         0x1000007
-  cpusubtype:      0x3
-  filetype:        0x1
-  ncmds:           8
-  sizeofcmds:      2240
-  flags:           0x2000
-  reserved:        0x0
-LoadCommands:
-  - cmd:             LC_SEGMENT_64
-    cmdsize:         1992
-    segname:         ''
-    vmaddr:          0
-    vmsize:          6592
-    fileoff:         2272
-    filesize:        6592
-    maxprot:         7
-    initprot:        7
-    nsects:          24
-    flags:           0
-    Sections:
-      - sectname:        __text
-        segname:         __TEXT
-        addr:            0x0
-        size:            593
-        offset:          0x8E0
-        align:           4
-        reloff:          0x22A0
-        nreloc:          24
-        flags:           0x80000400
-        reserved1:       0x0
-        reserved2:       0x0
-        relocations:
-          - address:         0x233
-            symbolnum:       2
-            pcrel:           true
-            length:          2
-            extern:          true
-            type:            4
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_typeref
-        segname:         __TEXT
-        addr:            0x2D6
-        size:            38
-        offset:          0xBB6
-        align:           1
-        reloff:          0x2418
-        nreloc:          4
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         5369000001FFFFFFFF002473346D61696E31304D7950726F746F636F6C50000001FFFFFFFF00
-        relocations:
-          - address:         0x21
-            symbolnum:       46
-            pcrel:           false
-            length:          3
-            extern:          true
-            type:            0
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_reflstr
-        segname:         __TEXT
-        addr:            0x318
-        size:            12
-        offset:          0xBF8
-        align:           0
-        reloff:          0x0
-        nreloc:          0
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         496E6E657200696E6E657200
-      - sectname:        __swift5_assocty
-        segname:         __TEXT
-        addr:            0x324
-        size:            24
-        offset:          0xC04
-        align:           2
-        reloff:          0x2450
-        nreloc:          8
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         00000000FCFFFFFF0100000008000000F0FFFFFFECFFFFFF
-        relocations:
-          - address:         0x14
-            symbolnum:       5
-            pcrel:           false
-            length:          2
-            extern:          true
-            type:            0
-            scattered:       false
-            value:           0
-      - sectname:        __swift5_fieldmd
-        segname:         __TEXT
-        addr:            0x378
-        size:            44
-        offset:          0xC58
-        align:           2
-        reloff:          0x24C0
-        nreloc:          8
-        flags:           0x10000000
-        reserved1:       0x0
-        reserved2:       0x0
-        content:         000000000000000000000C000100000002000000ECFFFFFFE8FFFFFF000000000000000000000C0000000000
-        relocations:
-          - address:         0x1C
-            symbolnum:       12
-            pcrel:           false
-            length:          3
-            extern:          false
-            type:            0
-            scattered:       false
-            value:           0
-  - cmd:             LC_BUILD_VERSION
-    cmdsize:         24
-    platform:        1
-    minos:           786432
-    sdk:             786688
-    ntools:          0
-  - cmd:             LC_SYMTAB
-    cmdsize:         24
-    symoff:          9824
-    nsyms:           57
-    stroff:          10736
-    strsize:         1544
-  - cmd:             LC_DYSYMTAB
-    cmdsize:         80
-    ilocalsym:       0
-    nlocalsym:       16
-    iextdefsym:      16
-    nextdefsym:      31
-    iundefsym:       47
-    nundefsym:       10
-    tocoff:          0
-    ntoc:            0
-    modtaboff:       0
-    nmodtab:         0
-    extrefsymoff:    0
-    nextrefsyms:     0
-    indirectsymoff:  0
-    nindirectsyms:   0
-    extreloff:       0
-    nextrel:         0
-    locreloff:       0
-    nlocrel:         0
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         40
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x53, 
-                       0x0, 0x0, 0x0, 0x0 ]
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         24
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x43, 
-                       0x6F, 0x72, 0x65, 0x0 ]
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         32
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x73, 0x77, 0x69, 0x66, 0x74, 0x5F, 
-                       0x6E, 0x63, 0x79, 0x0 ]
-  - cmd:             LC_LINKER_OPTION
-    cmdsize:         24
-    count:           1
-    PayloadBytes:    [ 0x2D, 0x6C, 0x6F, 0x62, 0x6A, 0x63, 0x0, 0x0, 0x0, 
-                       0x0, 0x0, 0x0 ]
-LinkEditData:
-  NameList:
-    - n_strx:          1494
-      n_type:          0xE
-      n_sect:          9
-      n_desc:          0
-      n_value:         0
-  StringTable:
-    - ''
-    - l_entry_point
-    - '_$s4main12Conformance2V5innerSivs'
-    - l_protocol_conformances
-    - l_coro.devirt.trigger
-    - '_$s4main10MyProtocolMp'
-    - ___swift_reflection_version
-    - _main
-    - '_$s4main3AppVMn'
-    - '_$s4main12Conformance2VMn'
-    - '_$s4main12Conformance2V5innerSivpfi'
-    - _symbolic Si
-    - l_llvm.swift_module_hash
-    - '_$s4main12Conformance2V5innerSivg'
-    - '_$s4main3AppVMf'
-    - '_$s4main12Conformance2VMf'
-    - _swift_bridgeObjectRelease
-    - l_type_metadata_table
-    - '_$s4main12Conformance2VAA10MyProtocolAAMc'
-    - '_$sSaMa'
-    - '_$s4main3AppVMa'
-    - '_$s4main12Conformance2VMa'
-    - '_$s4main12Conformance2V5innerACSi_tcfcfA_'
-    - '_$ss5print_9separator10terminatoryypd_S2StFfA1_'
-    - '_$ss5print_9separator10terminatoryypd_S2StFfA0_'
-    - '_$s4main3AppV5$mainyyFZ'
-    - '_$s4main3AppVAAyyFZ'
-    - '_$s4main12Conformance2VAA10MyProtocolA2aDP5inner5InnerQzvgTW'
-    - _symbolic _____ 4main3AppV
-    - '_$sytWV'
-    - '_$sBi64_WV'
-    - '_$s4main12Conformance2V5innerSivpMV'
-    - _symbolic _____ 4main12Conformance2V
-    - '_symbolic $s4main10MyProtocolP'
-    - '_$s4main12Conformance2VAA10MyProtocolAAWP'
-    - '_$sypN'
-    - '_$s4main3AppVN'
-    - '_$s4main12Conformance2VN'
-    - '_$sSSN'
-    - '_$s4main12Conformance2V5innerSivM'
-    - '_$s4mainMXM'
-    - '_$sSa12_endMutationyyF'
-    - '_$ss5print_9separator10terminatoryypd_S2StF'
-    - '_$ss27_allocateUninitializedArrayySayxG_BptBwlF'
-    - '_$ss27_finalizeUninitializedArrayySayxGABnlF'
-    - '_$s4main3AppVMF'
-    - '_$s4main12Conformance2VMF'
-    - '_$s4main3AppVACycfC'
-    - '_$s4main12Conformance2VACycfC'
-    - '_$s4main12Conformance2V5innerACSi_tcfC'
-    - '_$sSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC'
-    - '_$s4main12Conformance2VAA10MyProtocolAAMA'
-    - l___unnamed_8
-    - l___unnamed_7
-    - l___unnamed_6
-    - l___unnamed_5
-    - l___unnamed_4
-    - '_$s4main12Conformance2V5innerSivM.resume.0'
-    - ''
-    - ''
-    - ''
-    - ''
-    - ''
-    - ''
-    - ''

diff  --git a/llvm/test/tools/dsymutil/X86/reflection-dump.test b/llvm/test/tools/dsymutil/X86/reflection-dump.test
deleted file mode 100644
index 55f300c8bb9aa..0000000000000
--- a/llvm/test/tools/dsymutil/X86/reflection-dump.test
+++ /dev/null
@@ -1,42 +0,0 @@
-RUN: rm -rf %t.dir && mkdir -p %t.dir/tmp
-RUN: cp %p/../Inputs/main.yaml %t.dir
-RUN: cp %p/../Inputs/test.yaml %t.dir
-RUN: cp %p/../Inputs/reflection_metadata.yaml %t.dir
-RUN: yaml2obj %p/../Inputs/main.yaml -o %t.dir/main
-RUN: yaml2obj %p/../Inputs/test.yaml -o %t.dir/tmp/test-1.o
-RUN: yaml2obj %p/../Inputs/reflection_metadata.yaml -o %t.dir/tmp/reflection_metadata-1.o
-
-RUN: dsymutil -oso-prepend-path=%t.dir %t.dir/main -o %t.dir/main.dSYM
-RUN: llvm-objdump -s %t.dir/main.dSYM/Contents/Resources/DWARF/main | FileCheck %s
-
-CHECK: Contents of section __DWARF,__swift5_typeref:
-CHECK-NEXT:  10000e000 53690000 01ffffff ff002473 346d6169  Si........$s4mai
-CHECK-NEXT:  10000e010 6e31304d 7950726f 746f636f 6c500000  n10MyProtocolP..
-CHECK-NEXT:  10000e020 01ffffff ff007800 42300000 53690000  ......x.B0..Si..
-CHECK-NEXT:  10000e030 01ffffff ff002473 346d6169 6e31304d  ......$s4main10M
-CHECK-NEXT:  10000e040 7950726f 746f636f 6c500000 01ffffff  yProtocolP......
-
-CHECK: Contents of section __DWARF,__swift5_reflstr:
-CHECK-NEXT:  10000e09b 496e6e65 7200696e 6e657200 496e6e65  Inner.inner.Inne
-CHECK-NEXT:  10000e0ab 72006900 6d73006d 6500696e 6e657200  r.i.ms.me.inner.
-CHECK-NEXT:  10000e0bb 43004900 74006d67 73006d67 65004743  C.I.t.mgs.mge.GC
-CHECK-NEXT:  10000e0cb 00
-
-CHECK: Contents of section __DWARF,__swift5_assocty:
-CHECK-NEXT:  10000e0cc 00000000 fcffffff 01000000 08000000  ................
-CHECK-NEXT:  10000e0dc f0ffffff ecffffff 00000000 fcffffff  ................
-CHECK-NEXT:  10000e0ec 01000000 08000000 f0ffffff ecffffff  ................
-
-CHECK: Contents of section __DWARF,__swift5_fieldmd:
-CHECK-NEXT:  10000e0fc 00000000 00000000 00000c00 01000000  ................
-CHECK-NEXT:  10000e10c 02000000 ecffffff e8ffffff 00000000  ................
-CHECK-NEXT:  10000e11c 00000000 00000c00 00000000 00000000  ................
-CHECK-NEXT:  10000e12c 00000000 04000c00 00000000 00000000  ................
-
-CHECK: Contents of section __DWARF,__swift5_capture:
-CHECK-NEXT:  10000e22c 01000000 01000000 02000000 f4ffffff  ................
-CHECK-NEXT:	 10000e23c f0ffffff ecffffff                    ........
-
-CHECK: Contents of section __DWARF,__swift5_builtin:
-CHECK-NEXT:  10000e244 00000000 09000000 08000100 10000000  ................
-CHECK-NEXT:  10000e254 fe000000                             ....

diff  --git a/llvm/tools/dsymutil/DwarfLinkerForBinary.cpp b/llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
index 37c84691eb5a0..a8dfde0865377 100644
--- a/llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
+++ b/llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
@@ -30,7 +30,6 @@
 #include "llvm/ADT/Twine.h"
 #include "llvm/BinaryFormat/Dwarf.h"
 #include "llvm/BinaryFormat/MachO.h"
-#include "llvm/BinaryFormat/Swift.h"
 #include "llvm/CodeGen/AccelTable.h"
 #include "llvm/CodeGen/AsmPrinter.h"
 #include "llvm/CodeGen/DIE.h"
@@ -175,7 +174,7 @@ bool DwarfLinkerForBinary::createStreamer(const Triple &TheTriple,
       [&](const Twine &Warning, StringRef Context, const DWARFDie *) {
         warn(Warning, Context);
       });
-  return Streamer->init(TheTriple, "__DWARF");
+  return Streamer->init(TheTriple);
 }
 
 ErrorOr<const object::ObjectFile &>
@@ -296,77 +295,6 @@ DwarfLinkerForBinary::loadObject(const DebugMapObject &Obj,
   return ErrorOrObj.getError();
 }
 
-static bool binaryHasSwiftReflectionSections(const DebugMap &Map,
-                                             const LinkOptions &Options,
-                                             BinaryHolder &BinHolder) {
-  // If the input binary has swift5 reflection sections, there is no need to
-  // copy them to the .dSYM. Only copy them for binaries where the linker
-  // omitted the reflection metadata.
-  if (!Map.getBinaryPath().empty() &&
-      Options.FileType == OutputFileType::Object) {
-
-    auto ObjectEntry = BinHolder.getObjectEntry(Map.getBinaryPath());
-    // If ObjectEntry or Object has an error, no binary exists, therefore no
-    // reflection sections exist.
-    if (!ObjectEntry) {
-      // Any errors will be diagnosed later in the main loop, ignore them here.
-      llvm::consumeError(ObjectEntry.takeError());
-      return false;
-    }
-
-    auto Object =
-        ObjectEntry->getObjectAs<object::MachOObjectFile>(Map.getTriple());
-    if (!Object) {
-      // Any errors will be diagnosed later in the main loop, ignore them here.
-      llvm::consumeError(Object.takeError());
-      return false;
-    }
-
-    for (auto &Section : Object->sections()) {
-      llvm::Expected<llvm::StringRef> NameOrErr =
-          Object->getSectionName(Section.getRawDataRefImpl());
-      if (!NameOrErr) {
-        llvm::consumeError(NameOrErr.takeError());
-        continue;
-      }
-      NameOrErr->consume_back("__TEXT");
-      if (Object->mapReflectionSectionNameToEnumValue(*NameOrErr) !=
-          llvm::swift::Swift5ReflectionSectionKind::Unknown) {
-        return true;
-      }
-    }
-  }
-  return false;
-}
-
-static void
-copySwiftReflectionMetadata(const llvm::dsymutil::DebugMapObject *Obj,
-                            DwarfStreamer *Streamer) {
-  auto OF =
-      llvm::object::ObjectFile::createObjectFile(Obj->getObjectFilename());
-  if (!OF) {
-    llvm::consumeError(OF.takeError());
-    return;
-  } else if (auto *MO =
-                 dyn_cast<llvm::object::MachOObjectFile>(OF->getBinary())) {
-    for (auto &Section : OF->getBinary()->sections()) {
-      llvm::Expected<llvm::StringRef> NameOrErr =
-          MO->getSectionName(Section.getRawDataRefImpl());
-      if (!NameOrErr) {
-        llvm::consumeError(NameOrErr.takeError());
-        continue;
-      }
-      llvm::Expected<llvm::StringRef> SectionContents = Section.getContents();
-      if (SectionContents) {
-        NameOrErr->consume_back("__TEXT");
-        Streamer->emitSwiftReflectionSection(
-            MO->mapReflectionSectionNameToEnumValue(*NameOrErr),
-            *SectionContents, Section.getAlignment(), Section.getSize());
-      }
-    }
-  }
-}
-
 bool DwarfLinkerForBinary::link(const DebugMap &Map) {
   if (!createStreamer(Map.getTriple(), OutFile))
     return false;
@@ -461,20 +389,8 @@ bool DwarfLinkerForBinary::link(const DebugMap &Map) {
         llvm_unreachable("Unhandled DebugMap object");
       });
   GeneralLinker.setSwiftInterfacesMap(&ParseableSwiftInterfaces);
-  bool ReflectionSectionsPresentInBinary = false;
-  // If there is no output specified, no point in checking the binary for swift5
-  // reflection sections.
-  if (!Options.NoOutput) {
-    ReflectionSectionsPresentInBinary =
-        binaryHasSwiftReflectionSections(Map, Options, BinHolder);
-  }
 
   for (const auto &Obj : Map.objects()) {
-    // If there is no output specified or the reflection sections are present in
-    // the Input binary, there is no need to copy the Swift Reflection Metadata
-    if (!Options.NoOutput && !ReflectionSectionsPresentInBinary)
-      copySwiftReflectionMetadata(Obj.get(), Streamer.get());
-
     // N_AST objects (swiftmodule files) should get dumped directly into the
     // appropriate DWARF section.
     if (Obj->getType() == MachO::N_AST) {
@@ -515,6 +431,7 @@ bool DwarfLinkerForBinary::link(const DebugMap &Map) {
 
       continue;
     }
+
     if (auto ErrorOrObj = loadObject(*Obj, Map, RL))
       GeneralLinker.addObjectFile(*ErrorOrObj);
     else {


        


More information about the llvm-commits mailing list