Skip to content

[ESIMD] Get rid of __SYCL_EXPLICIT_SIMD__ macro #3404

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

Merged
merged 6 commits into from
Mar 30, 2021

Conversation

DenisBakhvalov
Copy link
Contributor

No description provided.

Copy link
Contributor

@premanandrao premanandrao left a comment

Choose a reason for hiding this comment

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

The InitPreprocessor.cpp change looks good to me. Someone else should review the header file changes.

Do we need a test to check the absence of the macro?

@@ -207,6 +206,7 @@ template <access::mode AccessMode> struct opencl_image1d_buffer_type;
__SYCL_IMAGE_BUFFER_TY_DEFINE(read, ro);
__SYCL_IMAGE_BUFFER_TY_DEFINE(write, wo);
__SYCL_IMAGE_BUFFER_TY_DEFINE(discard_write, wo);
__SYCL_IMAGE_BUFFER_TY_DEFINE(discard_read_write, rw);
Copy link
Contributor

Choose a reason for hiding this comment

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

Why this change is needed? The comment above says __SYCL_IMAGE_BUFFER_TY_DEFINE is not used anymore.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This change was needed a there was a specialization of accessor class with discard_read_write. Since we "unguard" this code from -fsycl-explicit-simd I need to add that.

Anyway, with my recent changes, this code is gone.

@@ -29,6 +29,7 @@ SYCL_EXTERNAL void hostAcc(accessor<int, 1, access::mode::read, access::target::
// CHECK-NEXT: 16 | size_t [1] common_array
// CHECK-NEXT: 24 | union sycl::accessor<int, 1, sycl::access::mode::read, sycl::access::target::global_buffer, sycl::access::placeholder::false_t>
// CHECK-NEXT: 24 | sycl::accessor<int, 1, sycl::access::mode::read, sycl::access::target::global_buffer, sycl::access::placeholder::false_t>::ConcreteASPtrType MData
// CHECK-NEXT: 24 | sycl::accessor<int, 1, sycl::access::mode::read, sycl::access::target::global_buffer, sycl::access::placeholder::false_t>::OCLImage1dBufferTy ImageBuffer
Copy link
Contributor

Choose a reason for hiding this comment

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

Please clarify if the ImageBuffer field was present before the change. Otherwise this would be ABI-breaking.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok. I reverted this change and instead of breaking the ABI of SYCL device code, my patch now breaks ABI of ESIMD device code. Hope it is OK for us to do.

Copy link
Contributor

@kbobrovs kbobrovs left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@premanandrao premanandrao left a comment

Choose a reason for hiding this comment

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

CFE changes LGTM

@DenisBakhvalov
Copy link
Contributor Author

@bader, @kbobrovs, please merge.

@bader
Copy link
Contributor

bader commented Mar 30, 2021

@bader, @kbobrovs, please merge.

@DenisBakhvalov the patch doesn't have all required approvals from code owners.

@DenisBakhvalov
Copy link
Contributor Author

@romanovvlad, can you please review on behalf of @intel/llvm-reviewers-runtime?

@bader bader merged commit f361802 into intel:sycl Mar 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants