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

    <tr>
        <th>Summary</th>
        <td>
            [AMDGPU] Avoid or clean unused IMPLICIT_DEF generated from SIFixSGPRCopies pass with REG_SEQUENCE instructions
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    An example can be found in `llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.format.f32.ll`:
```
 ....
   [[DEF:%[0-9]+]]:sgpr_32 = IMPLICIT_DEF
 [[DEF1:%[0-9]+]]:sgpr_32 = IMPLICIT_DEF
   [[REG_SEQUENCE:%[0-9]+]]:vreg_64 = REG_SEQUENCE [[COPY4]], %subreg.sub0, [[COPY3]], %subreg.sub1
 ....
```
Where the implicit_defs remain unused

Seems to be caused by some juggling of sgpr/vgpr with reg_sequence in SIFixSGPRCopies.

```
sgpr = reg_sequence vgpr, ...., vgpr, ....
```

to

```
sgpr = copy vgpr
sgpr = copy vgpr
sgpr = reg_sequence sgpr, ...., sgpr, ....
```

to

```
sgpr = implicit_def
sgpr = implicit_def
vgpr= reg_sequence vgpr, ...., vgpr, ....
<uses changes to vgpr>
```

I assume it's a non-issue, but I'd like to see it not emit implicit_def. Not sure if it's best to avoid the implicit_def altogether or have a clean up stage.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVNGO2zYQ_Br6ZXGERFuW_aAHnWwdXDTJNdeg6JNBSSuJiUSqXNLJ9esLyr7GTtArEoCArcXOYGbJHUmkOo2YseSeJbuF9K43NvtFavx0ereoTPOc5RrwixynAaGWGiqE1njdgNLA1tEwnEYmSofkmCgL0-ADaibK_M3u4fEDE-WAnRzU33gnx6arNbfyM5-c5ZVvW7ScnLHIW2NH6Xi7FHwY2Dpiy5xFefhzPlEOnHMefgFmrfe7fRm6RMKS--huy5IdE8FDOMucuskelwLYcgeHN4-_HorD78cAifKv-PgnCV4kvN8_HJ_2v33Yvy32r1CdLHbH9WqmuoZcWIp3j3-uLs2iACYS8pXFjpOvornyb9vyP9riqwFdD-2PHi2C6xHUOA2qVu7YYEtgcZRKg9eesAmYKH9CHAmcCfdby1CH6hnIjAgffdcNSndgWghjYaI8dZOFz8r1ELwR_uVR1xiexNOhVF-eHh7fF2ZSSPzMfi0qUMyzuIGeZuLi7EIUt9-3BCzKnXmFtzbT8xn_f8UbBfSNAvp5BdfTfqU-y_nRQSwLT0hQ91J3ON_YmWb_vcYDSCI_IijHREogQRt9p4g8BsbKOzgwkTYwqE8YmAhDL2jjAEflbvRyeGsckLcIqn1hrJBcAMqTUc13Dw3k4EyHrkcLxkIvTwgS6gGlBj8BOdkhXzTZstkut3KBWZwmUbwWG5Es-kzEbSvWVS2SZh2lbbppthU2GDftRm5SmSxUJiKRROs4jYWIxIpjFG-TTbVN0yZu0ypmqyg89IGHkOLGdovZexavVkm8WQyywoFeos9moeuu8h2xVTQocvQV55Qb5pC8xFqyg3y2bOyLn3mXbqICOtRopcMGWmvGb1cDJkl0XqKbVFCanPW1U0bTwtsh652baM6XkomyU673Fa9NiN1L-s7KJ2s-Yh1SeHZJTJQXo6dM_BMAAP__zYTGfg">