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