From 1c743b0e1262efa676950cbc27418a2210711801 Mon Sep 17 00:00:00 2001 From: Luo Xionghu Date: Mon, 15 Sep 2014 06:33:12 +0800 Subject: fix bin/cl-program-tester tests/cl/program/execute/attributes.cl regression. work_group_size_hint should define another variable. Signed-off-by: Luo Xionghu Reviewed-by: Zhigang Gong --- backend/src/llvm/llvm_gen_backend.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index b0e02ca..918af24 100644 --- a/backend/src/llvm/llvm_gen_backend.cpp +++ b/backend/src/llvm/llvm_gen_backend.cpp @@ -1249,6 +1249,7 @@ namespace gbe // Loop over the kernel metadatas to set the required work group size. NamedMDNode *clKernelMetaDatas = TheModule->getNamedMetadata("opencl.kernels"); size_t reqd_wg_sz[3] = {0, 0, 0}; + size_t hint_wg_sz[3] = {0, 0, 0}; ir::FunctionArgument::InfoFromLLVM llvmInfo; MDNode *node = NULL; MDNode *addrSpaceNode = NULL; @@ -1320,18 +1321,18 @@ namespace gbe ConstantInt *y = dyn_cast(attrNode->getOperand(2)); ConstantInt *z = dyn_cast(attrNode->getOperand(3)); GBE_ASSERT(x && y && z); - reqd_wg_sz[0] = x->getZExtValue(); - reqd_wg_sz[1] = y->getZExtValue(); - reqd_wg_sz[2] = z->getZExtValue(); + hint_wg_sz[0] = x->getZExtValue(); + hint_wg_sz[1] = y->getZExtValue(); + hint_wg_sz[2] = z->getZExtValue(); functionAttributes += attrName->getString(); std::stringstream param; char buffer[100]; param <<"("; - param << reqd_wg_sz[0]; + param << hint_wg_sz[0]; param << ","; - param << reqd_wg_sz[1]; + param << hint_wg_sz[1]; param << ","; - param << reqd_wg_sz[2]; + param << hint_wg_sz[2]; param <<")"; param >> buffer; functionAttributes += buffer; -- cgit v1.2.3