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