[SYCL] Improve mutation of literal address space for variadic printf #5286
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The initial implementation of address space mutation assumed that in
presence of
experimental::printf
wrappers at the IR level, eachwrapper would use its dedicated signature of the
__spirv_ocl_printf
builtin. However, this is not the case when the variadic signature of
the builtin is employed - in that scenario, the wrapper does not
become variadic, so
__spirv_ocl_printf
may have multiple wrapperinstances using it.
Adjust the algorithm for removing generic AS functions accordingly and
add LIT coverage for the non-inline variadic case.
In addition, minimize the IR for the non-variadic O0 test.
Signed-off-by: Artem Gindinson [email protected]