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