summaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorJunyan He <junyan.he@linux.intel.com>2014-06-13 17:04:39 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-06-13 17:20:25 +0800
commitac4fbc35b52b106cc4ffb9b7f9d7f18b364c811f (patch)
treea806ee6b0fc66ef56aa08776bc57d09df21ab56c /backend
parent0280f79206cffdeeba3ad14fc3e36698fe09f545 (diff)
Add the -cl-kernel-arg-info into the clang build 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. 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>
Diffstat (limited to 'backend')
-rw-r--r--backend/src/CMakeLists.txt2
-rw-r--r--backend/src/backend/program.cpp7
2 files changed, 7 insertions, 2 deletions
diff --git a/backend/src/CMakeLists.txt b/backend/src/CMakeLists.txt
index 60901747..c7cdaae8 100644
--- a/backend/src/CMakeLists.txt
+++ b/backend/src/CMakeLists.txt
@@ -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)
diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
index 7432cc35..d6112114 100644
--- a/backend/src/backend/program.cpp
+++ b/backend/src/backend/program.cpp
@@ -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