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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Array by-value parameter passing
        </td>
    </tr>

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

    <tr>
      <th>Assignees</th>
      <td>
            llvm-beanz
      </td>
    </tr>

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

<pre>
    In HLSL arrays when passed as parameters to functions are passed by-value. This is implemented in DXIL by creating a temporary of the array then passing the pointer-decayed temporary in place of the parameter.

https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-function-parameters
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxUks-OmzAQxp_GXEYgY8MmHDikilBXyq099DrgCbgyNrLNpvTpK2ehaSVLHo_mz6fvZwxBj5aoZfUXJoQxH3PeE9rfTAhWXzNc4-R8-8pnvVNb-27h6-3bDdB73AI8JrKwYAikAAMs6HGmSD5AdHBf7RC1swHQ01HVb_kHmpUK-D7pAOnMi6GZbCQF2sL1x_sN-g0GTxi1HQEh0rw4j34Dd4c40ef2FH0uT1UpvThtI_lc0YAbqX_6tIXF4EDHgL9CC8YvjF-mGJfA5IWJjonOEHpbzHrwLrh7LAY3M9GRzdfARPfQVrnHHknBRKe0pyFKNZlg0vNXPnpcJj2EPKXyw4j85U-mWqka2WBGbfnWnMszf5M8m1qh-rKRdV0Sb84ClaxO6oRcYlVVdDr3mW4FF7LkohK85pIXQ6nqSjZ1Q6cGiSSrOM2oTZHYFc6PmQ5hpfbESyEzgz2ZsFNPKHfeB-p1DKziRocYXgOijub5U54N9RUuTwAHy5edB45s9ab939RRx2ntdy_T5P3KF-9-0hCZ6J46k7FPqX8CAAD__25k4io">