Upstream basic SYCL device front-end compiler
Success criteria for this milestone is to compile SYCL kernels from a simple SYCL application to SPIR-V format using vanilla clang compiler as front-end compiler (i.e. upstreaming llvm-spirv tool and SYCL headers is out of this milestone scope).
E.g. https://github.com/codeplaysoftware/computecpp-sdk/blob/master/samples/accessors.cpp
clang -cc1 %s -fsycl-…
Success criteria for this milestone is to compile SYCL kernels from a simple SYCL application to SPIR-V format using vanilla clang compiler as front-end compiler (i.e. upstreaming llvm-spirv tool and SYCL headers is out of this milestone scope).
E.g. https://github.com/codeplaysoftware/computecpp-sdk/blob/master/samples/accessors.cpp
clang -cc1 %s -fsycl-is-device -target spir -I<patch to SYCL headers> <a lot of other options> accessors.cpp -o accessors.bc
llvm-spirv accessors.bc -o kernel.spv
The result of this compilation process can be verified manually or we can build a host part of the test application using any host compiler and configure SYCL runtime to use generated SPIR-V file to execute SYCL kernels.