<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/125743>125743</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Crash using array parameters
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            HLSL
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          llvm-beanz
      </td>
    </tr>
</table>

<pre>
    Clang currently crashes when compiling the following simplified compute shader:

```hlsl
typedef uint4  uint32_t4;
typedef uint32_t4 uint32_t8[2];

uint32_t Accumulate(uint32_t8 V) {
  uint32_t4 SumVec = V[0] + V[1];
  return SumVec.x + SumVec.y + SumVec.z + SumVec.w;
}

Buffer<uint4> Buf;
RWBuffer<uint> Out;

[numthreads(8,1,1)]
void main(uint GI : SV_GroupIndex) {
 uint32_t8 Val = {Buf[GI], Buf[GI+8]};
  Out[GI] = Accumulate(Val);
}
```
[Godbolt Link](https://godbolt.org/z/jd415bT11)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxcU11v6jgQ_TWTl1GRM4khecgDgYWtVGml7Yp9rJzYEPc6CfJHW_rrrxxSLq1kZMZzPHPOxEc4p0-DUhXwGvg2EcF3o62MeesfGiWGz6QZ5aXaGDGcsA3WqsGbC7ZWuE45fO_UgO3Yn7XRwwl9p_A4GjO-x8jp_mz0USs5QYJX6DohlYVsDWxaS3ZdnXEG2NpfzkqqIwY9-BynLaMXn0NW_8hOx7d_BfCagG-vOGDrrwSu2zb0wQivgIobHA9AJcIqou_a4HPoD6pFyLZ4AF4z4FsEqqcgvdVHtMoHO8zwxceEmYPLffB5H7zP7FbbK8c6HI9xFptJLWR_YR2OV8y__39Lxtw_wd_UAa-H0PvOKiEdUFEAbdLrr4ws2fpt1BJ7oYdZNe4fEbI1Ph9e9nYM58dBqo-7GdxNRphJP6zqSIfX-8dYkjZ4C6ku4tHqNo7IbQZOd78N_SBMpHWv_eurX6XsR9mMxuOTHn5NrYrO-7OLj4R2QLvTNb8Y7Qlo9wm0e5V5ypv_0qg3kVUmy6wUiarSVVYsS54VZdJVqyJjKudSLEtOmchZTozlvBCNTJtCykRXxIgzYnla8CWViyW1qWoLatMjXy5lBjlTvdBmEd0Q2yfauaCqlPgqzxIjGmXcZByiv5-en4DiG0y-3BNODnJmtPPuTwWvvZnMNl3gW9xEJ2Fw0TDCWnHBs7CiV15ZlwRrqh_D0L4LzaIde6BdrDpvD2c7vqrWA-0mkg5oN_N8q-h3AAAA___uOiqI">