diff options
author | Luo Xionghu <xionghu.luo@intel.com> | 2014-09-15 06:33:12 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2014-09-15 12:04:06 +0800 |
commit | 1c743b0e1262efa676950cbc27418a2210711801 (patch) | |
tree | af9462ce2264760c2d394a8603fd9fc2b2f7ed57 | |
parent | 05adeeffa7da9ff0a0e8df6669cb7ddb2bf59fd3 (diff) |
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 <xionghu.luo@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r-- | backend/src/llvm/llvm_gen_backend.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index b0e02cab..918af244 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<ConstantInt>(attrNode->getOperand(2)); ConstantInt *z = dyn_cast<ConstantInt>(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; |