<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/108844>108844</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[SPIR-V] OpPhi not handled as a phi node by the MIR verifier
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:SPIR-V
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Keenuts
</td>
</tr>
</table>
<pre>
When expensive checks are enabled, MIR is checked after each pass.
SPIR-V has an OpPhi instruction, similar to LLVM's phi instruction.
But because the MIR verifier doesn't know about it, it expects all operands to be defined by a dominating block (unlike the phi instruction).
Might want to add a new bit in the td files (akin to isBarrier bit) so the verifier can know "this instruction is allowed to have partially undefined operands)?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxckstu4zgQRb-G2hRiSLTkx0KLZAIDwSSYIAOk10WybFWbJgUWZXf-vkHZ6Uc2EiCRp-5BXRThQyDqVfeguscKpzzE1P9LFKYslYnuo_82UAD6MVIQPhPYgexRABMBBTSenNL_wMvTG7Bcf5ID3GdKQGgHGFFkoepHVd____r0dvcOAwpggP_G14GBg-Q02cwxFI7wiT0myBGen99flF4LjH8fu8EepgyGLE5CkAeaE5wp8Z4pgYskQel1hmOIF0ATpwycywTOs4zNAug9xJESBidloiFwtOdADswHILh44oCZwwGMj_YISm-m4Pl4nTh-jb-9Rbs-X_gwZLhgyIWNzgFCoAsYzsBhJmQHe_YkBYzH8jECywOmVCRMCbwFifPZX24Ww9VKaZ0Hlj8zlB2g9_FCrrAGPBOMmDKj9x8whU-9T2ult2q5q1y_dNvlFivqm7VedXWtN-tq6Nu2a-1Gr6yhpnNNvdmQxq7Bbl3b1WpvKu51rdt626yaTrdtu6jt3iKudL1pCHWzUm1NJ2S_8P58WsR0qFhkor6w2rbyaMjL3D6tDdojBaeWt6IorUsnU1_u3pnpIKqtPUuW37TM2c_tvV3pHm-9CjHDgMH50kYBnLcVoqOy2q99qabk-yHnUdTyXumd0rsD52EyCxtPSu_KuNvrbkzxO9ms9G42EaV3N5lzr38GAAD__z46GSs">