<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Remove DIDescriptor and its subclasses"
   href="https://llvm.org/bugs/show_bug.cgi?id=23080">23080</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Remove DIDescriptor and its subclasses
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Core LLVM classes
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>dexonsmith@apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>aprantl@apple.com, dblaikie@gmail.com, echristo@gmail.com, friss@apple.com, llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Depends on</th>
          <td>22777
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>We should remove the DIDescriptor hierarchy, which parallels DebugNode and its
subclasses.

 1. Gut their functionality, porting over anything that's left to DebugNode and
its subclasses.
 2. Convert all users to use the subclasses of Metadata directly.
 3. Delete them.
 4. Rename the relevant subclasses of Metadata to their rightful names:
DebugNode => DINode, MDSubprogram => DISubprogram, MDLocation => DILocation,
etc.

I'll file some blockers for this.  The biggest one (<a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - Make the debug info hierarchy strict"
   href="show_bug.cgi?id=22777">bug 22777</a>) is already
finished.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>