<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137036>137036</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL][SPIRV] Propagate address space casts to their uses
</td>
</tr>
<tr>
<th>Labels</th>
<td>
HLSL,
backend:SPIR-V
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
Keenuts
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
s-perron
</td>
</tr>
</table>
<pre>
In SPIR-V shaders, you cannot cast a pointer from one storage class to another (address space casts in llvm-ir). So we need to try to remove the address space casts when possible, and fails nicely when not possible.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxskTFv4zAMhX-NvBAxHFpO7MFD2iK44joUV6A7LdG27hTJEOUW-fcHpznc0okL-fje-0jETYG5V82DQvzJHNYsClE1TwWteY6pl93CKcVQDNFe--cAb6_Pv3bvIDNZTqLwEa5xBUMhxAyGJAPBEl3InGBM8QIxMEiOiSYG40kEcgQKMc-cQGFL1iYWAVnI8E1BwAXw_uOyc0lhV8JbhE-GwGy325yu20h8iR8MeWb4TuJz5gBLFHGD580mBQsjOS8QnGF__drYXP_bKlV1UtWpsH1tu7qjgvv9UTe6xkN7KObeatJ0HLpqqCoz6Lazx6Zuq1GjGYc9dYXrscKm0ljvW9T6UB4PTWtHa7AZx7ZttdIVX8j5cktXxjQVTmTlfl8fq_pQeBrYyx3Hj5e3l40FPirEgcwfDlbVp6_-75BSf6tpWCdRuvJOsvyXzi77G9ubUvOkmoft-F01T_Ca4kIT5e-720qe2SVYhaVYk-_nnBdR9UnhWeF5cnleh9LEi8Lz9u8-dkuKv9lkhedbLlF4vkf76PFvAAAA__8qksrJ">