<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57764>57764</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Hang or crash in RegAllocGreedy for x86
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
VoxSciurorum
</td>
</tr>
</table>
<pre>
The attached IR file causes the code generator to hang (if assertions are disabled) or to crash with an assertion failure
Assertion failed: ((ExtraInfo->getCascade(Intf->reg()) < Cascade || VirtReg.isSpillable() < Intf->isSpillable()) && "Cannot decrease cascade number, illegal eviction"), function evictInterference, file /data/llvm/llvm-dev/llvm/lib/CodeGen/RegAllocGreedy.cpp, line 493.
The IR file was generated by clang -march=bonnell, which may not be a common use case these days.
[hang.txt](https://github.com/llvm/llvm-project/files/9577759/hang.txt)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVU8FunDAQ_Rq4jIJYWGA5cNiySZprUuVu7DG4MvbKNtndv-8YkqZpT5UsW_gNb2bePA9W3LofEwILgfEJBTw9g1QagbPFo4dAGLcCYUSDjgXrIFiYmBkhKQ5KAvMeXVDWeGAOQSjPBo0iKVrYYrljfoKLChMw8xkOkim9OEzyU5Ift_34BSSS8hiz0Lq_BseejLR3SXk_YuiZ50wgIU8myHjpcFxD25g5KXt4D4Gk6WnBq3LhGcdM-Zez0joWucWvwR8s_6BrQFHToqPomTE2gEDukPko0pbDLPOALil6oJ9xZBrwTfHYCf20svQgF7PebBAlRCfRoeG4olHzpHgQLDA6tH6b3487gW9_3KiB9p4m8ohE_kAtHbW2_NEhilvGz-fIppVB2Ldl9qe6ccwf070w_zFRmvlwA67jSO9m5viUlKfBGoNaR67LpPgEM7tBbH0gq5Ah5pkaWTYFMJqEdsFu_kvCpPoWjZKFa0iqE-k5hXD2NFSqm9ZIlliGjMj-avjs7E_kgT5jrZ7OtmqapiIZH34TkqhrkhS7XV2XRb0vmjIVXSnasmVpUEFj9z02RTbcPKgMfJULJGHXQ50uTnf_XZzyflmro-LqfTp1ZV1KySUXklftruRtXhccZS6kxH2dH1LyFWrfkS5kC4MXWCmiRapTqroiL4q83VW7ptrtyiwfeDs0-wMTsq5YMyT7HGd6F1msI7NuTF23ljQsoydQKx_8J0gvTY0GcU1H_GwJk3Xdq72-cLU465Y5XfN3a_2_APBfTTE">