Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SYCL][CUDA] Use __nvvm_reflect_ocl instead of LLVM IR workaround (in…
…tel#9250) We needed an IR workaround in order to use `__nvvm_reflect` in OpenCL. This is because passing a string in OpenCL to `__nvvm_reflect` requires the extern declaration of `__nvvm_reflect` like so: `int __nvvm_reflect(__constant char *)` Since strings in OpenCL are in the `__constant` address space. This then clashes with use of `__nvvm_reflect` within CUDA's libdevice which uses the generic address space to pass in the string. Therefore a new func name was needed to allow nvvm reflect capabilities, but while using a ptr input in different address space. This change was made upstream see intel@ce43e2f and has been available in DPC++ since the pulldown. Therefore in OpenCL we can now use `__nvvm_reflect_ocl` without worrying about how it will clash with nvvm libdevice's use of `__nvvm_reflect`. Removing the need for the IR workaround in `reflect.ll` I have also changed the `.gitignore` just since it is a small uncontroversial change so we can do in-tree tests in a local build dir of `sycl-e2e`
- Loading branch information