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

    <tr>
        <th>Summary</th>
        <td>
            [SPIR-V] Redundant and invalid spv_assign_type intrinsics are emitted for null constants
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:SPIR-V
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          michalpaszkowski
      </td>
    </tr>
</table>

<pre>
    SPIRVEmitIntrinsics pass besides emitting spv_track_constant also emits redundant and invalid spv_assign_type calls for null constants, for instance in case of builtin nulls:
```
define spir_kernel void @foo() {
  %call1 = call spir_func ptr @_Z29async_work_group_strided_copyPU3AS3hPU3AS1Khmm9ocl_event(ptr null, ptr null, i64 1, i64 1, ptr null)
  %call2 = call spir_func ptr @_Z29async_work_group_strided_copyPU3AS3hPU3AS1Khmm9ocl_event(ptr null, ptr null, i64 1, i64 1, target("spirv.Event") zeroinitializer)
  ret void
}

declare spir_func ptr @_Z29async_work_group_strided_copyPU3AS3hPU3AS1Khmm9ocl_event(ptr, ptr, i64, i64, ptr)
```


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVE1vqzoQ_TVmYzUC8xFYsEhfGql6m6rV6-JtkLGHZF6MjTwmVfrrn3C4am_Vxd1c6UoIj8dzRud4OEgiPFqAlpX3TIgR1UmaSdL72b3RGZkQrNwncg4n59uvp0nv9LV9eXp8fn0YMTza4NESKuKTJOI9EGogDiOGgPbIabp0wUt17pSzFKQNXBpysYC4Bz1bHZNWc7QXaVBHzI1kF64TcCWNIT44z-1sDP_RiJj4K2Yx7hVwtFxJAu4G3s9oAtqIIJbvWLpn6Y5V6frErYYBLXCa0Hdn8BYMvzjUnBXp4BwTNRMNZ9v7WzXnTJQLl4yzfB9Z3aDDbBWfgl9w3b-ikXS1qntz_twdvZunjoJHDbpTbro-_ZPvXvJTXLK_T-PYOGU6uIANTNRLl4XyIu1zjFXBs5-Cj9PmCz3xJ9AL0h8hxCsUC4vL5uHWQyx3-g7eocWA0uA7-E8aPIQ4g3Ve2_0arPNSRnr4HbJWRauGT0tMNt9-Prd3ottcN3kjE2izbVYJUaRlnpzaIdN9VYAseyW3w1DUclvXqs_qUqRNLZoEW5EuxSLNqrLI8o2oKtn327KSaZEq2bAihVGi2RhzGTfOHxMkmqFtxLZuEiN7MLS6uJfqDFazfLd48-51dbFvF-hdPx-JFalBCvTRLGAw8S-wQso9f_4lQ-KH65dxRLOD_sahyexNewphihYUByYORwynud8oNzJxWKisy93k3X-gAhOHKJKYOESd_wcAAP__-2qH3g">