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

    <tr>
        <th>Summary</th>
        <td>
            Dead calls with convergence token uses are not deleted
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AMDGPU,
            missed-optimization
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          arsenm
      </td>
    </tr>
</table>

<pre>
    Calls with convergencectrl bundles appear to never be deleted when unused:

```
; RUN:  opt -S -mtriple=amdgcn-amd-amdhsa -O3 %s

; The calls should be deleted
define void @dead_readfirstlane_convergencetoken(<2 x i32> %src) convergent {
  %t = call token @llvm.experimental.convergence.entry()
  %vec = call <2 x i32> @llvm.amdgcn.readfirstlane.v2i32(<2 x i32> %src) [ "convergencectrl"(token %t) ]
  ret void
}

```

In this example, every pass is a no-op. I would expect instcombine or any of the DCE passes to erase the entry token and readfirstlane call
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0U0uPszgQ_DXm0gIRG0g4cEjCl9Uc9qHdnfPI2E3wjrGRbTKT_fUrexjNQ_tJRkh-VFVXdXPv1dUgdqQ-kbrP-Bom6zruPJo5G6y8d2eutYcXFSYQ1tzQXdEIFMFpGFYjNXrgy4LcQbBg8IYOBgSJGgNKeJnQwGpWj5KwIynTasptlUfCTvDn42-EHQHsEiD_C_I5OLVoJKzns7wKk_NZxm_yHPLfGRBa-w2JneDvCUEkjX6yq5af2El5lDgqg3CzSgKpSolcPjnkclTOB80NPn0qKthnNIQeCDtTeAXFKGE_Ep0ThLYf9Qcg-xMpjxAPAxDWJwmQACKP1re5wNcFnZrRBK6LTzQFmuDukYe27yA3FB8w3_g3uDczii_qixuNt34umdQnIJR-S47Q-GZTS-vwdrNPYhyGZFe0d9__T2Ll8cFAmJQHfOVzDIqeIeZ-h4V7D8oDB2NzuxTwAC8pk2iFCKCMD8LOQ4zEOuDmDnaEMCH05x_pNfrYRui4x7SfrNp85UbCl-qTW5nsmGxZyzPsdvtqt2v2dXXIpk5WotoPrB1Y1ezqZqxqJquaNoOQDMdmzFRHS1qXrKzLlrXloWj3Y82bsZHyIOR-PJCqxJkrXST_rbtmyvsVux1tD3WTaT6g9ml0KB24eEYTm_z4a__LH4_J4jOhdFbeo8ztEtSs_uVBWRPP6j5zXcTNh_XqY8bKB__BFFTQ2PXI5dbd3ydwM2WNlnGHYGx47_tsdbqbQlh8nDl6IfRyVWFah0LYmdBLJNl--eLsPygCoZdUmyf0spV36-h_AQAA__9bClIO">