-
Notifications
You must be signed in to change notification settings - Fork 788
[SYCL][ABI-break] Remove old spec constants extension and implementation #9874
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
[SYCL][ABI-break] Remove old spec constants extension and implementation #9874
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note for @intel/dpcpp-tools-reviewers: I'm not sure if we have moved all spec constant tests to SYCL 2020 format.
This is not a problem I'm introducing in this PR, because those DeprecatedFeatures
tests have been testing things, which can only be produced by our compiler from 2021, i.e. those tests arevery much synthetic as of today. However, with this commit we won't even have them in the repo and perhaps it makes sense to have an issue submitted to make sure that LIT tests coverage for SpecConstants
pass is good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm OK with it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FE changes LGTM.
Shall we also remove "sycl/doc/design/SpecializationConstants.md"? Note that the design for SYCL 2020 specialization constants is described in "sycl/doc/design/SYCL2020-SpecializationConstants.md". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm OK with it
…nup-old-spec-constants-support
Good point, removed the old design doc in d3dbc09 |
…nup-old-spec-constants-support
…nup-old-spec-constants-support
…nup-old-spec-constants-support
7b6742d
to
2e95f53
Compare
Apology for the force-push. I made incorrect merge with |
…nup-old-spec-constants-support
@intel/dpcpp-tools-reviewers, could you please take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tools part LGTM
This patch fixes a regression accidentally introduced in intel#9874 (presumably because we didn't have the right test). SYCL-CTS produces an LLVM IR pattern, where spec constant initializer contains less elements than there are in a spec constant type, because some of those elements are implicitly-created paddings. The patch updates the pass to handle this situation. Resolves intel#10129
… pass (#10211) This patch fixes a regression accidentally introduced in #9874 (presumably because we didn't have the right test). SYCL-CTS produces an LLVM IR pattern, where spec constant initializer contains less elements than there are in a spec constant type, because some of those elements are implicitly-created paddings. The patch updates the pass to handle this situation. Note: this PR only covers a case when padding is inserted at the end of a struct. Resolves #10129
sycl_ext_oneapi_spec_constants
extension was deprecated a year ago in b185269 and since it is dependent onprogram
class, which was removed from SYCL 2020 and was removed from our implementation about 1.5 years ago in e7cc7b0, there is no reason anymore to keep related implementation bits.This is technically an ABI break, because our compiler loses ability to process device code compiled by older versions of the compiler.