summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuo Xionghu <xionghu.luo@intel.com>2014-09-15 06:33:12 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-09-15 12:04:06 +0800
commit1c743b0e1262efa676950cbc27418a2210711801 (patch)
treeaf9462ce2264760c2d394a8603fd9fc2b2f7ed57
parent05adeeffa7da9ff0a0e8df6669cb7ddb2bf59fd3 (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.cpp13
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;