Skip to content

[SYCL][ESIMD] Remove LowerESIMDVecArg pass and update opaque pointer tests #10738

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 3 commits into from
Aug 10, 2023

Conversation

sarnex
Copy link
Contributor

@sarnex sarnex commented Aug 8, 2023

After 0c51f60, opaque pointers are enabled by default for device code.

This means that LowerESIMDVecArg is now never run because we do a runtime check in sycl-post-link and only run it if opaque pointers are off.

Remove the pass since it's now dead code, and remove related tests. The tests check for changes unique to LowerESIMDVecArg and cannot be ported to instead use the pass that is run when opaque pointers is enabled, ESIMDOptimizeVecArgCallConvPass, and that pass has its own tests already and it does something completely different anyway.

For the tests removed under sycl/test/esimd, all of those tests already have opaque pointer versions in-tree with the _opaque suffix, so there is no test coverage loss.

I also updated tests in sycl/test that have the _opaque suffix to not have the suffix, removed the typed pointer versions, and removed the opaque pointer flags.

@bader
Copy link
Contributor

bader commented Aug 8, 2023

@sarnex, thanks for the detailed description. I think we need to do follow-up code clean-ups.

instead use the pass that is run when opaque pointers is enabled, ESIMDOptimizeVecArgCallConvPass

Is there a check for "if opaque pointers are enabled"? If so, we should remove it as only opaque pointers are supported.

have opaque pointer versions in-tree with the _opaque suffix

It makes sense to drop _opaque suffix.

@sarnex
Copy link
Contributor Author

sarnex commented Aug 8, 2023

@bader

If so, we should remove it as only opaque pointers are supported.

I did that here

It makes sense to drop _opaque suffix.

Will do, thx

@sarnex sarnex changed the title [SYCL][ESIMD] Remove LowerESIMDVecArg pass [SYCL][ESIMD] Remove LowerESIMDVecArg pass and rename opaque pointer tests Aug 8, 2023
@sarnex sarnex changed the title [SYCL][ESIMD] Remove LowerESIMDVecArg pass and rename opaque pointer tests [SYCL][ESIMD] Remove LowerESIMDVecArg pass and update opaque pointer tests Aug 8, 2023
@sarnex
Copy link
Contributor Author

sarnex commented Aug 8, 2023

CUDA failures seem not related, some CI issue

@sarnex sarnex marked this pull request as ready for review August 8, 2023 20:39
@sarnex sarnex requested review from a team as code owners August 8, 2023 20:39
@sarnex sarnex requested a review from bader August 8, 2023 20:42
@@ -1,8 +1,12 @@
// RUN: %clangxx -O0 -fsycl -fno-sycl-esimd-force-stateless-mem -fsycl-device-only -Xclang -emit-llvm -Xclang -no-opaque-pointers %s -o %t
// RUN: %clangxx -O0 -fsycl -fsycl-device-only -fno-sycl-esimd-force-stateless-mem -Xclang -emit-llvm %s -o %t
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 (and all the tests) are just a file rename from _opaque with a possible -opaque-pointer flag removal, you don't have to review the test contents itself, they are all already in-tree.

@sarnex
Copy link
Contributor Author

sarnex commented Aug 9, 2023

@LU-JOHN hey, do you mind reviewing this from the tools pov? changes should be trivial. thanks

Copy link
Contributor

@maksimsab maksimsab left a comment

Choose a reason for hiding this comment

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

LGTM

@sarnex
Copy link
Contributor Author

sarnex commented Aug 10, 2023

@maksimsab thanks!

@intel/llvm-gatekeepers i think we are good to merge, cuda failures unrelated! thanks!

@aelovikov-intel
Copy link
Contributor

https://github.com/orgs/intel/teams/llvm-gatekeepers i think we are good to merge, cuda failures unrelated! thanks!

Please merge in latest origin/sycl. I'd like to ensure the testing works.

sarnex added 3 commits August 10, 2023 08:03
After intel@0c51f60, opaque pointers are enabled by default for device code.

This means that LowerESIMDVecArg is now never run because we do a runtime check in sycl-post-link and only run it if opaque pointers are off.

Remove the pass since it's now dead code, and remove related tests. The tests check for changes unique to LowerESIMDVecArg and cannot be ported
to instead use the pass that is run when opaque pointers is enabled, ESIMDOptimizeVecArgCallConvPass, and that pass has its own tests already.

For the tests removed under sycl/test, all of those tests already have opaque pointer versions in-tree with the _opaque suffix, so there is no
test coverage loss.

Signed-off-by: Sarnie, Nick <[email protected]>
@sarnex
Copy link
Contributor Author

sarnex commented Aug 10, 2023

Done, CI running now

@sarnex
Copy link
Contributor Author

sarnex commented Aug 10, 2023

@aelovikov-intel CI passed, so we should be good to merge, thanks

@aelovikov-intel aelovikov-intel merged commit 8ef4090 into intel:sycl Aug 10, 2023
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