-
Notifications
You must be signed in to change notification settings - Fork 795
[SYCL] Initial printf support for non-constant AS format strings #5069
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
Conversation
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
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.
Overall the pass looks almost good to me, waiting for tests
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
+ bump up the size of `FunctionsToDrop` for the non-variadic case Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Aims to test intel/llvm#5069. Signed-off-by: Artem Gindinson <[email protected]>
/verify with intel/llvm-test-suite#569 |
Signed-off-by: Artem Gindinson <[email protected]>
/verify with intel/llvm-test-suite#569 |
The API usage ended up breaking Module destruction in some cases by leaving unregistered `Constant` users dangling. Also, the type was being set incorrectly and had to be mutated explicitly. Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
This simplifies the pass implementation, the resulting IR, and also achieves in-memory IR validity for no-inline cases. Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
d0336b8
to
6c8122b
Compare
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
@AlexeySachkov @mlychkov @v-klochkov I'm thinking about moving the pass from |
I would actually prefer if this pass resides in |
Signed-off-by: Artem Gindinson <[email protected]>
Signed-off-by: Artem Gindinson <[email protected]>
/verify with intel/llvm-test-suite#569 |
@intel/llvm-reviewers-runtime, @v-klochkov, could you please approve changes to (should #5016 come in earlier, I'll rebase the patch and rely on team-based code-owner approval) |
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 change (add a pass) looks good to me.
For the joint Precommit of product + test patches, CUDA/Win failures in |
Follow-up on intel#5069. Signed-off-by: Artem Gindinson <[email protected]>
Fixes post-commit failures for intel#5069. Signed-off-by: Artem Gindinson <[email protected]>
Follow-up on #5069. Signed-off-by: Artem Gindinson <[email protected]>
* upstream/sycl: (1382 commits) [SYCL][XPTI] Report memory allocation info from SYCL runtime (intel#5172) [CI] Switch labels for OCL x64 job (intel#5185) [SYCL] Add basic support for the generic_space address space (intel#5148) [CI] Update CODEOWNERS for SYCL printf support passes (intel#5199) [SYCL][Matrix] Enable wi_slice for joint_matrix (intel#4979) [SYCL][Group algorithms] Move group sort extension to experimental (intel#5169) [SYCL] Fix kernel bundles don't really carry kernel IDs (intel#5121) [SYCL] Initial printf support for non-constant AS format strings (intel#5069) [SYCL][NFC] Fix static code analysis concerns (intel#5189) [SYCL][Doc] Fix typos to fix doc build (intel#5190) [Driver][SYCL] Turn on -fsycl-dead-args-optimization by default (intel#3004) [SYCL][L0][Plugin] Add support for batching copy commands (intel#5155) [CI] Add cache checkout script to docker containers (intel#5184) [SYCL][Doc] Add HIP backend to the filter selector (intel#5176) [Doc] Add documentation for Docker images (intel#4778) [LIBCLC] Add functionality for in-kernel asserts for CUDA backend (intel#5174) Force opt to use new pass manager in exponential-deferred-inlining test after a8c2ba1 [SYCL] Add vec and marray support to known_identity type trait (intel#5163) Correctly resolve merge conflicts Update SPV_INTEL_hw_thread_queries to rev 2 ...
Fixes post-commit failures for #5069. Signed-off-by: Artem Gindinson <[email protected]>
Allow generic address space strings into
experimental::printf
and, consequently,into
__spirv_ocl_printf
declarations. To mitigate the lack of device BE support forgeneric address space literals, we implement a pass to move the literal argument
into constant address space whenever possible.
This is a temporary solution; long-term, we should replace this with proper support
of generic address-spaced format strings at the level of SPIR-V translation and device
backends.
Tested in intel/llvm-test-suite#569.
Signed-off-by: Artem Gindinson [email protected]