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

    <tr>
        <th>Summary</th>
        <td>
            [CodeGen] Refactor MachineInstr findRegisterDefOperandIdx/findRegisterDefOperand etc. to stop missing TRI args
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            llvm:codegen
      </td>
    </tr>

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

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

<pre>
    As noticed by @AtariDreams on #82411, by having the TargetRegisterInfo argument at the end of a long line of optional args, we are often missing it in our function calls and not correctly testing for super reg kill state etc.

```cpp
  int findRegisterUseOperandIdx(Register Reg, bool isKill = false, const TargetRegisterInfo *TRI = nullptr) const;
  MachineOperand *findRegisterUseOperand(Register Reg, bool isKill = false, const TargetRegisterInfo *TRI = nullptr);
  ... etc ...
```
ideally we need to refactor the calls so the TRI is no longer optional, so when we don't care about super-registers we explicitly have to set it nullptr.
```cpp
  int findRegisterUseOperandIdx(Register Reg, const TargetRegisterInfo *TRI, bool isKill = false) const;
  MachineOperand *findRegisterUseOperand(Register Reg, const TargetRegisterInfo *TRI, bool isKill = false);
  ... etc ...
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VO1q6zgQfRr5z1Bjy_FHfvhH2pAllGUh230AWRrb2lUkI43b5u0X2Um3W8q9F3ovhBiNZjRnzjmMCEEPFrFl5T0r94mYaXS-PT3-qc_OJp1Tl3YXwDrSEhV0F2CbbEfC671HcQ7gLDBeNHyT54w_xIRRPGs7AI0IT8IPSCccdCD0R9s7EH6Yz2gJBC0paBW4HgQYZwcw2mI8uom0s8LE9BDffUEQPl4RWjjrEGILTaAtuNlDP1sZK0AKYwIIqyJkkM57lGQuQBgolvTOQ5gn9OBxgH-0MRBIEAKSTFm2Z9nu-l9l609O0xoB0Jag11bdBvor4B8TemHVUb0y3tzicMJhIcM5Azo8xi6s2EMvTMB4IZ0N9Bk7jO-eTscl2c7GTOQZ367prLi_4fhdyFHbW-9Y9DmqXwfpHZg0TSN58fuBufWoFQpjLlFBi6iAHHjshSTnFwOsigW3GuZ0BB3tttgB_ZsRIsTg4GVEG19SzjJeE8hoCtG5mVZV7_wVeohZ-DoZLXXUfxTPGFsHpGib6yQfEX9B6-_w9w3uf6q-X4DxQ5omqi3UttiKBNu8zpqKFzyrk7HNyk5VedNldd5gk9VZvm1E3W15VVYFiiLRLc_4JuOc53VR8CLNKyXrTV5VZS-qaiPZJsOz0CY15vmcOj8kOoQZ24ZX5TYxokMTljXF-eCcgl77QLDkMM4Zf2Ccx1JW7KRTOKCN4XKf-DaG77p5CGyTGR0o_NeDNJll-z04hb-hZeUeTjd_XoU42kD-f27YY__eDYfP75alsriO3PS2taLH41pLZm_akWgKrNgxfmD8MGga5y6V7sz4YZll_dxN3v2Nkhg_LPMGxg8LLf8GAAD__36L4iw">