(resubmit https://reviews.llvm.org/D119207 after fixing the test for some build settings)
This patch converts CUDA pointer kernel arguments with default address space to
CrossWorkGroup address space (__global in OpenCL). This is because Generic or
Function (OpenCL's private) is not supported as storage class for kernel pointer types.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Looking into the (new) test failure on Windows, since the change has already been reviewed, will try to commit after resolving the test failure.
Comment Actions
- What's different in this patch vs the previous one?
- *Disabled a hip test on Windows that's breaking on head.* Can you clarify: Is this test broken at HEAD, or does it break with your patch?
If it's broken at HEAD, then it should be disabled in a separate patch.
If it breaks with your patch, can you explain why it should be disabled rather than fixed?
Comment Actions
Previous patch broke at two different post-commit build configurations. The generated SPIR-V are:
define hidden spir_kernel void @_Z6kernelPi(i32 addrspace(1)* noundef %output.coerce) #0 {
define spir_kernel void @_Z6kernelPi(i32 addrspace(1)* noundef %0) #0 {
And the original test:
// CHECK: define spir_kernel void @_Z6kernelPi(i32 addrspace(1)* noundef %output.coerce)
Changed that to below so that it could handle those two build configurations correctly.
// CHECK: define // CHECK-SAME: spir_kernel void @_Z6kernelPi(i32 addrspace(1)* noundef
(The previous reverted patch could have been reopened so that the change is more clear, but didn't know such option exist until recently.)
- *Disabled a hip test on Windows that's breaking on head.* Can you clarify: Is this test broken at HEAD, or does it break with your patch?
If it's broken at HEAD, then it should be disabled in a separate patch.
If it breaks with your patch, can you explain why it should be disabled rather than fixed?
It is broken at HEAD, will add another patch.