[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 29 03:57:41 PDT 2017

Anastasia added inline comments.

Comment at: test/CodeGenOpenCL/cl20-device-side-enqueue.cl:116
+  // B32: store i32 4, i32* %[[TMP3]], align 4
+  // 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 3, i32* %[[TMP1]])
+  // B64: %[[TMP:.*]] = alloca [3 x i64]
yaxunl wrote:
> Anastasia wrote:
> > You are not checking the arrays in the other calls too?
> 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?
Ideally yes, we are doing this for other features too... there is only one element in other cases... should be easier.


More information about the cfe-commits mailing list