<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/96317>96317</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [DirectX] Remove `unreachable` instructions from DXIL
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:DirectX
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          llvm-beanz
      </td>
    </tr>
</table>

<pre>
    LLVM IR `unreachable` instructions aren't legal in DXIL so we need to remove them from the final output:

See: https://github.com/microsoft/DirectXShaderCompiler/issues/2331

### Acceptance Criteria

* Updated lowering passes to remove unreachable instructions.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEkkFr3DwQhn-NfBmyWKO1tT74sF8WQyDfJaEl17E8ttXKkpHkhPbXF-8mNL20MCAhpBHP-wylZCfP3IrqP1FdCtryHGLr3Oty1zP5n0Ufhh_t4-PX_-HhCURdbj4ymZl6x6IuwfqU42ayDT4BRfYCdQbHEzmwHi4vD4-QArwxeOYBcoDIS3hlyDMvMMaw7DsYrScHYcvrloU6i3KvZ2ahzjDnvKb9EDuB3WTzvPUHExaB3WJNDCmMWWB3sZFNfnmeaeB4H5bVOo4CO5vSxklgh0rJW2OB6lZwNobXTN4w3EebOVr6uHKGL-tAmQdw4Y2j9ROslBKnTxCfwvgjiUMxtGpoVEMFt1LLU3NClLKY20pqIllr2VBF0mCjUI9lc1T1MJpG68K2WOKxrFHKqlRKHuTI6qQ1n_SJhh61OJa8kHWHXdIhxKm4ErZNraQuHPXs0lUnYk_mO_tBqPN7OAJxt_wheJuSOJbOppx-d8s2u-s8fLypLvB0w_2H_qvN3XixRdf-Rdv-1_tyt8bwjU3-LOpG8trirwAAAP__wdTZTg">