<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">