[PATCH] D36678: [OpenCL] Do not use vararg in emitted functions for enqueue_kernel

Anastasia Stulova via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 15 10:23:36 PDT 2017


Anastasia added inline comments.


================
Comment at: test/CodeGenOpenCL/cl20-device-side-enqueue.cl:64
+  // B32: call i32 @__enqueue_kernel_vaargs(%opencl.queue_t{{.*}}* [[DEF_Q]], i32 [[FLAGS]], %struct.ndrange_t* [[NDR]]{{(.[0-9]+)?}}, i8 addrspace(4)* addrspacecast (i8 addrspace(1)* bitcast ({ i8**, i32, i32, i8*, %struct.__block_descriptor addrspace(2)* } addrspace(1)* @__block_literal_global{{(.[0-9]+)?}} to i8 addrspace(1)*) to i8 addrspace(4)*), i32 1, i32* {{.*}})
   // B64: [[SIZE:%[0-9]+]] = zext i8 {{%[0-9]+}} to i64
+  // B64: call i32 @__enqueue_kernel_vaargs(%opencl.queue_t{{.*}}* [[DEF_Q]], i32 [[FLAGS]], %struct.ndrange_t* [[NDR]]{{(.[0-9]+)?}}, i8 addrspace(4)* addrspacecast (i8 addrspace(1)* bitcast ({ i8**, i32, i32, i8*, %struct.__block_descriptor addrspace(2)* } addrspace(1)* @__block_literal_global{{(.[0-9]+)?}} to i8 addrspace(1)*) to i8 addrspace(4)*), i32 1, i64* {{.*}})
----------------
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.


https://reviews.llvm.org/D36678





More information about the cfe-commits mailing list