<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/107355>107355</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[LoongArch] SDAG hang with lasx on
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:hang,
backend:loongarch,
llvm:SelectionDAG
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dtcxzyw
</td>
</tr>
</table>
<pre>
Reproducer: https://godbolt.org/z/PP69f7rE1
```
; timeout 5s bin/llc -mtriple=loongarch64 -mattr=+lasx test.ll -o -
@g_156 = external global [12 x i32]
@g_490 = external global i32
@g_813 = external global i32
define void @foo() {
entry:
store i32 0, ptr getelementptr inbounds (i8, ptr @g_156, i64 20), align 4
store i32 0, ptr @g_490, align 4
%0 = load i32, ptr getelementptr inbounds (i8, ptr @g_156, i64 24), align 4
store i32 %0, ptr @g_813, align 4
tail call void @llvm.memset.p0.i64(ptr @g_156, i8 0, i64 48, i1 false)
store i32 0, ptr getelementptr inbounds (i8, ptr @g_156, i64 20), align 4
ret void
}
```
cc @SixWeining @wangleiat @xen0n @heiher
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VE2PpDYQ_TXFpdQtY_N54ECH9F5yWGUOOUYGV4MTY7dsM9Ozvz4y3TObj1HmECkSMjzVq_J7hV0yBD1bog7KE5RDJre4ON-pON2-vb5ko1Ov3c909U5tE3kQPS4xXgOIHvgZ-Hl2anQmHp2fgZ-_AT9__Vq1l9r_mAMbgPVQscdzh-KEUa_ktohlwFFb4GdjJjys0eurIRCDcc7O0k9LVeBhlTF6EAPwk5HhhpFCPBqDB4eHR8n7WrD517ysEMSAdIvkrTQ4GzdKg1Ceco431IJDOfwpoWjZhwmJ-J3V5OIT1r4qumhL-Oy0QijYxTngDfAWoT7dGWSjf0292xFiiM5TKoMM-A94jR5nimRoJRsT0nZ0m1UBgTe6eeO8eU1YVwVyBrxNQBo9Wyz-pfyb6w_YwMt7M4yTavf2XyQVn0lK2_0lu8nFBwlRaoOTNOa9r8Y8r8eV1kDxeGVHXRXAm39oaO6ek5ZiV6lzvEgTKOn6f9rvKe6iH2ekHj6-Efs6Tansk779QtpqOyf0Iu1sSMuYwI0ss-ljIb2Qx3tapjqhWtHKjLq85mWZ17xusqUTFWtl3qhLW6lJqrwuLyJXLWNc1VIKlemOM16wlpWs4nneHCcmWDEqyaamYqMqoGC0Sm2Oe7-dnzMdwkZdzmpRlpmRI5mwjw3OEwVEv0g7A0_nBjgf5fQ7WQWif7_P77EH_4kMTVE7O_RfUqwcMt-l2GHc5pB-tQ4xfBcQdTT7pPopVexTxXLAp6H_gmlrfNFxwX1KOJtt3nR_m1U6Ltt4nNy6z5znt9fh6t1vNEXg591iAH5-uHzu-B8BAAD__7Vzf5k">