Skip to content

[SYCL][Libclc] Alter libclc-remangler to use clang mangling #6114

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

Open
AidanBeltonS opened this issue May 6, 2022 · 0 comments
Open

[SYCL][Libclc] Alter libclc-remangler to use clang mangling #6114

AidanBeltonS opened this issue May 6, 2022 · 0 comments
Labels
cuda CUDA back-end enhancement New feature or request

Comments

@AidanBeltonS
Copy link
Contributor

Is your feature request related to a problem? Please describe
Currently, the libclc-remangler manually mangles builtins. Manual mangling has two issues. The first is that it leads to code duplication, where both clang and the remangler have different methods to perform the same task.
The second is that it leads to more bugs and maintenance work. For example, if the clang mangler deviates from the expected mangling behaviour, this creates bugs. Additionally, if the clang mangler gets updated, the remangler may need to be patched to behave the same.

Describe the solution you would like
The solution would be to adjust the remangler to use clang's mangling tools. Using clang's mangling tools would mitigate the previously stated issues as there would be only one area of code responsible for built-in mangling. It would also keep the remangler consistent with any upstream llvm changes.

Describe alternatives you have considered
The other alternative is to maintain and manage the libclc-remangler constantly.

Additional context
This issue partly relates to: #5849

@AidanBeltonS AidanBeltonS added the enhancement New feature or request label May 6, 2022
@AerialMantis AerialMantis added the cuda CUDA back-end label May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cuda CUDA back-end enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants