-
Notifications
You must be signed in to change notification settings - Fork 768
[SYCL] Remove re-flower pass #152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Those types could be defined as a predefined types in Sema in a non conflicting way. i.e. One issue here: there is a conflicts between the mangling for SPIR and the SPIR-V convention. |
@Naghasan, we are working on a bit different approach for SPIR-V types. Specifically for OpTypeEvent, we are trying to re-use OpenCL |
That's very similar to what I had in mind, the problem will just be the mangler in the end (i.e. having a mangling that make sense for both OpenCL C and the SPIR-V translator). |
Current approach with translation to SPIR-V uses re-flower pass. See this section for more details: https://github.com/intel/llvm/blob/sycl/sycl/doc/SYCL_compiler_and_runtime_design.md#integration-with-spir-v-format
To simplify SYCL compiler implementation and upstreaming work we should investigate if it's possible to translate SYCL to SPIR-V w/o this pass.
According to my understanding the main problem this pass solves is name conflicts.
For instance, type names defined for SPIR-V can conflict with user types - e.g. OpTypeEvent.
SPIR-V in LLVM IR format description: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/master/docs/SPIRVRepresentationInLLVM.rst
The text was updated successfully, but these errors were encountered: