diff options
author | Yaxun Liu <Yaxun.Liu@amd.com> | 2017-10-19 15:56:13 +0000 |
---|---|---|
committer | Yaxun Liu <Yaxun.Liu@amd.com> | 2017-10-19 15:56:13 +0000 |
commit | f2127d172835149b309eb4f949d2edf6764965a3 (patch) | |
tree | 9cd534a88eea1b8fbd26db95074c52e8349a58b9 /clang | |
parent | 8dcab54cb41a6e4bb66275ccfeecffed429a89e1 (diff) | |
download | bcm5719-llvm-f2127d172835149b309eb4f949d2edf6764965a3.tar.gz bcm5719-llvm-f2127d172835149b309eb4f949d2edf6764965a3.zip |
[AMDGPU] Fix bug in enqueued block codegen due to an extra line
llvm-svn: 316165
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/CodeGen/TargetInfo.cpp | 1 | ||||
-rw-r--r-- | clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp index 99079f9b27f..2651d87389e 100644 --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -8985,7 +8985,6 @@ llvm::Function *AMDGPUTargetCodeGenInfo::createEnqueuedBlockKernel( ArgNames.push_back(llvm::MDString::get(C, "block_literal")); for (unsigned I = 1, E = InvokeFT->getNumParams(); I < E; ++I) { ArgTys.push_back(InvokeFT->getParamType(I)); - ArgTys.push_back(BlockTy); ArgTypeNames.push_back(llvm::MDString::get(C, "void*")); AddressQuals.push_back(llvm::ConstantAsMetadata::get(Builder.getInt32(3))); AccessQuals.push_back(llvm::MDString::get(C, "none")); diff --git a/clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl b/clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl index 92f2306f26d..b2db4d78271 100644 --- a/clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl +++ b/clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl @@ -18,6 +18,12 @@ kernel void test(global char *a, char b, global long *c, long d) { a[0] = b; c[0] = d; }); + enqueue_kernel(default_queue, flags, ndrange, + ^(local void *lp) { + a[0] = b; + c[0] = d; + ((local int*)lp)[0] = 1; + }, 100); } // CHECK-LABEL: define internal amdgpu_kernel void @__test_block_invoke_kernel(<{ i32, i32, i8 addrspace(4)*, i8 addrspace(1)*, i8 }>) @@ -33,4 +39,7 @@ kernel void test(global char *a, char b, global long *c, long d) { // CHECK-LABEL: define internal amdgpu_kernel void @__test_block_invoke_2_kernel(<{ i32, i32, i8 addrspace(4)*, i8 addrspace(1)*, i64 addrspace(1)*, i64, i8 }>) // CHECK-SAME: #[[ATTR]] !kernel_arg_addr_space !{{.*}} !kernel_arg_access_qual !{{.*}} !kernel_arg_type !{{.*}} !kernel_arg_base_type !{{.*}} !kernel_arg_type_qual !{{.*}} +// CHECK-LABEL: define internal amdgpu_kernel void @__test_block_invoke_3_kernel(<{ i32, i32, i8 addrspace(4)*, i8 addrspace(1)*, i64 addrspace(1)*, i64, i8 }>, i8 addrspace(3)*) +// CHECK-SAME: #[[ATTR]] !kernel_arg_addr_space !{{.*}} !kernel_arg_access_qual !{{.*}} !kernel_arg_type !{{.*}} !kernel_arg_base_type !{{.*}} !kernel_arg_type_qual !{{.*}} + // CHECK: attributes #[[ATTR]] = { nounwind "enqueued-block" } |