-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Remove re-flower pass #152
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: