Add the -cl-kernel-arg-info into the clang build options
authorJunyan He <junyan.he@linux.intel.com>
Fri, 13 Jun 2014 09:04:39 +0000 (17:04 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Fri, 13 Jun 2014 09:20:25 +0000 (17:20 +0800)
We always add -cl-kernel-arg-info to the options. This option just generate
the arg information for the backend, no other side effect and does not have
performance issue.  So we just always add it here.

Signed-off-by: Junyan He <junyan.he@linux.intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
backend/src/CMakeLists.txt
backend/src/backend/program.cpp

index 6090174..c7cdaae 100644 (file)
@@ -45,7 +45,7 @@ set (pch_object ${ocl_blob_file}.pch)
 set (local_pch_object ${ocl_blob_file}.local.pch)
 # generate pch object
 if (LLVM_VERSION_NODOT VERSION_GREATER 32)
-    set (clang_cmd -cc1 -x cl -triple spir -ffp-contract=off)
+    set (clang_cmd -cc1 -x cl -triple spir -ffp-contract=off -cl-kernel-arg-info)
 else (LLVM_VERSION_NODOT VERSION_GREATER 32)
     if (LLVM_VERSION_NODOT VERSION_GREATER 31)
         set (clang_cmd -cc1 -x cl -triple nvptx -ffp-contract=off)
index 7432cc3..d611211 100644 (file)
@@ -740,7 +740,12 @@ namespace gbe {
 
        So we just disable the PCH validation of Clang and do the judgement by ourself. */
 
-    if(options) {
+    /* We always add -cl-kernel-arg-info to the options. This option just generate the arg
+       information for the backend, no other side effect and does not have performance issue. */
+    if (!options || !strstr(const_cast<char *>(options), "-cl-kernel-arg-info"))
+      clOpt += "-cl-kernel-arg-info ";
+
+    if (options) {
       char *p;
       /* FIXME: Though we can disable the pch valid check, and load pch successfully,
          but these language opts and pre-defined macro will still generate the diag msg