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

    <tr>
        <th>Summary</th>
        <td>
            [CodeGen] missing MachineOperand::ChangeToCImmediate
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    MachineOperand has `ChangeToImmediate` and `ChangeToFPImmediate`, but `ChangeToCImmediate` is not found.

implementation like:
```
void MachineOperand::ChangeToCImmediate(const ConstantInt *CImm, unsigned TargetFlags) {
  assert((!isReg() || !isTied()) && "Cannot change a tied operand into an imm");

  removeRegFromUses();
  
  OpKind = MO_CImmediate;
  Contents.CI = CImm;
  setTargetFlags(TargetFlags);
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNksGOmzAQhp8GLqMiYxuyHDgkRFRRtUpVpefK4Cm4BTvCJm3fvrazu0lWPVQaYfD8nvn5xp2Rf-pn0Y9K4_GMi9ASRmEhKUkzCj3gyRzmGaUSDv0ehPxdrv18n01oA93q7gXNw2llQRsH382qZZaQfUK216eazxPOqJ1wymiY1E9M2EsuFL5G_LwYJeHRcZCy7T9a0qfeaOugCU-h3UF7c3QbFMHrqq0aNEo4iWVA105isAmtINnsrr0AhLW4OF8oRq7sFxzia1A1PiDunhTK63bM0NKHX2gjdPjhPloDAc7rwLxwVtoZDxRUcEPDWba7hwKw4Gwu6Fu2i5m_WrQvPdibv9f1eP6kwmjYHp6P3-4Q3KQegvOEbdYcoi5SuKUtugcMT49Qbt42-3dzSWXNZMUqkTrlJqyTYtcYiR9RJ8UeZmWt0sN_jixdl6kenTvboKCtj0G5ce2y3nhK7TRdXpcP58X8wN4Pp_Ut1gCnLTgvy3SskdOesk1XFURIXpVVzjEvieSM0ZLmNJ1Eh5MNVj16jb8glghjKPapqimhlDBK8oLknGeciZKSqhNVT_qy6hNOcBZqyoKPzCxDutTRUrd6WJxMynrOb0l_icI9i2RCfbG60Sz1KvB3GvvW0fdfSNoU0Q">