<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/154669>154669</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[SPIR-V] Hitting llvm_unreachable in SPIRVLegalizePointerCast when compiling local resource arrays
</td>
</tr>
<tr>
<th>Labels</th>
<td>
SPIR-V
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hekota
</td>
</tr>
</table>
<pre>
Hitting `llvm_unreachable ` in `SPIRVLegalizePointerCast` when compiling these two offload-tests cases with SPIR-V:
Feature/ResourceArrays/array-local.test:
```
RWBuffer<float> BufA : register(u0);
RWBuffer<float> BufB : register(u1);
RWBuffer<float> Out : register(u2);
float foo(RWBuffer<float> ArgArray[2], uint Index) {
return ArgArray[0][Index] + ArgArray[1][Index] * 10;
}
float bar(uint Index) {
RWBuffer<float> LocalArray[2];
LocalArray[0] = BufA;
LocalArray[1] = BufB;
return foo(LocalArray, Index);
}
[numthreads(4,2,1)]
void main(uint GI : SV_GroupIndex) {
Out[GI] = bar(GI);
}
```
Feature/ResourceArrays/array-local2.test
```
RWBuffer<int> X : register(u0);
RWBuffer<int> Y : register(u1);
void SomeFn(RWBuffer<int> B[2], uint Idx, int Val0) {
B[0] = Y;
B[0][Idx] = Val0;
}
[numthreads(4,1,1)]
void main(uint GI : SV_GroupIndex) {
RWBuffer<int> A[2] = {X, Y};
SomeFn(A, GI, 1);
A[0][GI] = 2;
}
```
I am going to mark these two tests as XFAIL for Clang-Vulkan. Please re-enable when fixed.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVU1v4zgM_TXyhUggy1ESH3ywk003wABTtEC2PQ3kmLa1ta1CH21nf_1CitO6TTs7wAIBLER8JB_5RApjZDMgZoQXhG8j4WyrdNbig7IiKlX1M_tTWiuHBsiSdt1T_8MNGsWxFWWH_j-Qg__cXu9vDt-wEZ38B6-VHCzqjTDWWzy3OMBR9Y-y845siwbBPitQdd0pUc0sGmvgKAwaeJa2Be9tdiBJTqj_7VBYp5Gw3Q0a5fQRc63FT0PYTvjDrFNH0c29mxGzpOOP5jd_Fa6uUZNk46NZkvwBhatzIEkOGhtpLGrC1o4SlpKk-BpSXEDiX0K-OwsXEPYKITQPplArRdj6Mw-5bgJTwgtG-JawDTg5WNgPFb4QlgJZeU8AABqt08MUQT2CFydbvgXCiul1fHGdQ0zH1FbbaYKlCKl_GvmztL_5drxLPDkZv7ugIWqyDd341CKeWBRni5HoqWgTc7Z5Te4DCcKLwfW21SgqQ9h6QdiGEbYJ3ePe6EnJCnohhzPNq31o3O3hx5VW7vEj6-_OEl5c7c_5nQp0tf8YeyLD39MwO4n4SwXLIRT47vfEO1rf_0K3Z_K3qsfd8F6GI7y4UF_14s_-eBAdnaqhmPb1_tyyYqLG6uV8HbD_3an4f3Xqkk4-0gk5kFVx57nc-xTGbF9Lkfsb39QNvBUMgoORzZsC2Fd9JzTfg-ihUWH2KeiFfpjMwNPsEwbudvn-G9RKw6YTQzM7uO5BDHO47lAYBI0zHMLQDeO0li9Yzceq0TyqsqRKk1REmMUrzlc8XvN11Ga4TBd1jGUsKJYpZ5SVmCJWZV0lNI3XkcwYZZyuWUwXnPL1HKv1Kk6PR85psiwXMVlQ7IXs5n76z5VuImmMwyzmi-UyjTpRYmfC_mBsnNvM1zfSmUfMStcYsqCdNNa8-bDSdmHrjBC-hfOiudgycoCv1svH3RIeEejxhUF4WSZyustaax-N3w5sR9iukbZ15fyoesJ2PuD4mT1q9TceLWG7wNI_z5HoU8b-DQAA___QJR8r">