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.