Ping for review. If llvm is debug version will cause assert for device enqueue cases.
-----Original Message----- From: Pan, Xiuli Sent: Tuesday, April 25, 2017 13:27 To: [email protected] Cc: Pan, Xiuli <[email protected]> Subject: [PATCH] Backend: Fix llvm40 assert about literal structs From: Pan Xiuli <[email protected]> In llvm literal structs have no name, so check it first. Signed-off-by: Pan Xiuli <[email protected]> --- backend/src/llvm/llvm_gen_backend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index 9954021..831666e 100644 --- a/backend/src/llvm/llvm_gen_backend.cpp +++ b/backend/src/llvm/llvm_gen_backend.cpp @@ -362,7 +362,8 @@ namespace gbe Type *eltTy = dyn_cast<PointerType>(type)->getElementType(); if (eltTy->isStructTy()) { StructType *strTy = dyn_cast<StructType>(eltTy); - if (strTy->getName().data() && strstr(strTy->getName().data(), "sampler")) + if (!strTy->isLiteral() && strTy->getName().data() && + strstr(strTy->getName().data(), "sampler")) type = Type::getInt32Ty(value->getContext()); } } -- 2.7.4 _______________________________________________ Beignet mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/beignet
