SPIR-V Support For Upstream LLVM Is Back To Being Discussed
Next month the Vulkan 1.0 API will turn two years old but a goal that has remained elusive to date has been getting SPIR-V -- the intermediate representation shared by Vulkan and OpenCL -- into upstream LLVM.
The goal would be upstream support for going between SPIR-V and LLVM IR. There's been various projects working on this SPIR-V and LLVM IR to/from translation support, but nothing has been upstreamed yet in LLVM itself for easier maintenance and focusing on a concerted effort.
The most recent interest in this SPIR-V in LLVM support appears to be from Collabora who has "customers who are successfully using Mesa in their products, and that are now asking about OpenCL."
But there isn't yet any SPIR-V in LLVM support as the consensus appears to be the existing code needs to get a bit more mature. Tomeu Vizoso of Collabora has already begun experimenting with tieing LLVM-SPIRV with Mesa. Collabora's driver focus appears to be getting OpenCL working with the Freedreno Gallium3D driver and also making use of the Clover OpenCL G3D state tracker in the process.
The LLVM SPIR-V topic is set to be further discussed at this year's IWOCL conference. The 2018 International Workshop on OpenCL is scheduled for mid-May in Oxford. The current discussion about it is taking place on llvm-dev.