fix bin/cl-program-tester tests/cl/program/execute/attributes.cl regression.
authorLuo Xionghu <xionghu.luo@intel.com>
Sun, 14 Sep 2014 22:33:12 +0000 (06:33 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Mon, 15 Sep 2014 04:04:06 +0000 (12:04 +0800)
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>
backend/src/llvm/llvm_gen_backend.cpp

index b0e02ca..918af24 100644 (file)
@@ -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;