Not all targets support vararg (e.g. amdgpu). Instead of using vararg in the emitted functions for enqueue_kernel,
this patch creates a temporary array of size_t, stores the size arguments in the temporary array
and passes it to the emitted functions for enqueue_kernel.
Details
Diff Detail
Event Timeline
test/CodeGenOpenCL/cl20-device-side-enqueue.cl | ||
---|---|---|
64 | This is no longer needed? Could we check the code for array generation too? Also could we modify one test to take more than argument to the block? It seems to be missing in testing. |
test/CodeGenOpenCL/cl20-device-side-enqueue.cl | ||
---|---|---|
64 | will do. |
test/CodeGenOpenCL/cl20-device-side-enqueue.cl | ||
---|---|---|
122 | You are not checking the arrays in the other calls too? |
test/CodeGenOpenCL/cl20-device-side-enqueue.cl | ||
---|---|---|
122 | The logic is the same and the same lamba is called for emitting the IR. Is it necessary to do the same check for all the cases? |
test/CodeGenOpenCL/cl20-device-side-enqueue.cl | ||
---|---|---|
122 | Ideally yes, we are doing this for other features too... there is only one element in other cases... should be easier. |
This is no longer needed?
Could we check the code for array generation too?
Also could we modify one test to take more than argument to the block? It seems to be missing in testing.