Skip to content

[clang][SYCL] Add sycl_external attribute and restrict emitting device code #140282

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
wants to merge 37 commits into
base: main
Choose a base branch
from

Conversation

schittir
Copy link
Contributor

@schittir schittir commented May 16, 2025

This patch is part of the upstreaming effort for supporting SYCL language front end.
It makes the following changes:

  1. Adds sycl_external attribute for functions
  2. Adds checks to avoid emitting code when sycl_external and sycl_kernel_entry_point attributes are not enabled
  3. Fixes test failures caused by the above changes

Copy link
Contributor

@tahonermann tahonermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for working on this @schittir! I completed an initial pass of all of the code, but still need to look more closely at the documentation updates.

@schittir
Copy link
Contributor Author

Thanks for working on this @schittir! I completed an initial pass of all of the code, but still need to look more closely at the documentation updates.

Thank you for the initial pass review, Tom!

Copy link

github-actions bot commented May 26, 2025

✅ With the latest revision this PR passed the C/C++ code formatter.

@schittir schittir changed the title Add sycl_external attribute [SYCL] Add sycl_external attribute Jun 10, 2025
@schittir schittir marked this pull request as ready for review June 10, 2025 16:16
@schittir schittir changed the title [SYCL] Add sycl_external attribute [clang][SYCL Upstreaming] Add sycl_external attribute Jun 10, 2025
@Fznamznon Fznamznon added the SYCL https://registry.khronos.org/SYCL label Jun 10, 2025
@schittir schittir changed the title [clang][SYCL Upstreaming] Add sycl_external attribute [clang][SYCL Upstreaming] Add sycl_external attribute and restrict emitting code Jun 10, 2025
@schittir schittir changed the title [clang][SYCL Upstreaming] Add sycl_external attribute and restrict emitting code [clang][SYCL Upstreaming] Add sycl_external attribute and restrict emitting device code Jun 10, 2025
schittir and others added 3 commits June 10, 2025 14:48
@Fznamznon Fznamznon changed the title [clang][SYCL Upstreaming] Add sycl_external attribute and restrict emitting device code [clang][SYCL] Add sycl_external attribute and restrict emitting device code Jun 11, 2025
Copy link
Contributor

@tahonermann tahonermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @schittir, here are my initial review comments. I expect to review the newly added tests more closely once these comments are all addressed.

Copy link
Contributor

@tahonermann tahonermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing most of my earlier comments. I took another quick look today and added a couple more comments.

Copy link
Contributor

@tahonermann tahonermann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional comments for diagnostics and tests.

@Fznamznon
Copy link
Contributor

Oops new tests are failing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SYCL https://registry.khronos.org/SYCL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants