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
[OpaquePointers] Fix translation of EnqueueKernel and block functions #1857
[OpaquePointers] Fix translation of EnqueueKernel and block functions #1857
Conversation
This patch is ready for review, but depends on #1799 (which also depends on D141008). I am seeing some test failures which don't seem to be specific to this change; they probably need to be fixed in #1799 when that is updated to be merged:
|
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.
LGTM, thanks!
This specifies the right parameter types for EnqueueKernel and for block functions (with mangled names of the form {__*,}_block_invoke{_*,}{_kernel,}), so that SPIR-V code is generated for these as expected. This fixes a crash in the Intel OpenCL CPU backend, and likely other SPIR-V consumers.
b52540c
to
9154aad
Compare
I've rebased this on the current main branch now that the relevant fixes (and the test fix yesterday for #1885) are there. @jcranmer-intel also pointed out a few more block-related tests that need to be updated for opaque pointers, so I've updated those here too and fixed some bugs in my first implementation of the block part of this. |
Restarting CI with new head |
This specifies the right parameter types for EnqueueKernel and for block
functions (with mangled names of the form {__,}block_invoke{,}{_kernel,}),
so that SPIR-V code is generated for these as expected. This fixes a
crash in the Intel OpenCL CPU backend, and likely other SPIR-V
consumers.