diff options
author | Junyan He <junyan.he@intel.com> | 2017-06-23 18:18:27 +0800 |
---|---|---|
committer | Yang Rong <rong.r.yang@intel.com> | 2017-08-02 17:16:30 +0800 |
commit | 05cccebd9e7e8a69c189de4fc1d84b82c86704f2 (patch) | |
tree | 3506f493d369c2a20b172525addd3d7bf0dd3dba | |
parent | cf896507e2a1c4e505761bb1b29c9d97d5c2537a (diff) | |
download | beignet-05cccebd9e7e8a69c189de4fc1d84b82c86704f2.tar.gz |
FIx get kernel arg info crash bug.
Signed-off-by: Junyan He <junyan.he@intel.com>
-rw-r--r-- | backend/src/llvm/llvm_gen_backend.cpp | 5 | ||||
-rw-r--r-- | backend/src/llvm/llvm_passes.cpp | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index 2488c318..399ba65f 100644 --- a/backend/src/llvm/llvm_gen_backend.cpp +++ b/backend/src/llvm/llvm_gen_backend.cpp @@ -1322,8 +1322,9 @@ namespace gbe if(typeBaseNameNode) { llvmInfo.typeBaseName= (cast<MDString>(typeBaseNameNode->getOperand(opID)))->getString(); } - llvmInfo.typeName= (cast<MDString>(typeNameNode->getOperand(opID)))->getString(); - llvmInfo.typeQual = (cast<MDString>(typeQualNode->getOperand(opID)))->getString(); + if (typeQualNode) { + llvmInfo.typeQual = (cast<MDString>(typeQualNode->getOperand(opID)))->getString(); + } bool isImage = llvmInfo.isImageType(); bool isPipe = llvmInfo.isPipeType(); if (I->getType()->isPointerTy() || isImage || isPipe) { diff --git a/backend/src/llvm/llvm_passes.cpp b/backend/src/llvm/llvm_passes.cpp index 10752a35..fbdb02c5 100644 --- a/backend/src/llvm/llvm_passes.cpp +++ b/backend/src/llvm/llvm_passes.cpp @@ -43,8 +43,9 @@ namespace gbe bool isKernelFunction(const llvm::Function &F) { bool bKernel = false; #if LLVM_VERSION_MAJOR * 10 + LLVM_VERSION_MINOR >= 39 - bKernel = F.getMetadata("kernel_arg_name") != NULL; -#else + if (F.getMetadata("kernel_arg_name") != NULL) + return true; +#endif const Module *module = F.getParent(); const Module::NamedMDListType& globalMD = module->getNamedMDList(); for(auto i = globalMD.begin(); i != globalMD.end(); i++) { @@ -61,7 +62,6 @@ namespace gbe if(op == &F) bKernel = true; } } -#endif return bKernel; } |