diff options
| -rw-r--r-- | llvm/lib/IR/IRBuilder.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/IR/IRBuilder.cpp b/llvm/lib/IR/IRBuilder.cpp index 217577e090e..bc75de2693b 100644 --- a/llvm/lib/IR/IRBuilder.cpp +++ b/llvm/lib/IR/IRBuilder.cpp @@ -284,13 +284,14 @@ CallInst *IRBuilderBase::CreateMaskedScatter(Value *Data, Value *Ptrs, unsigned Align, Value *Mask) { auto PtrsTy = cast<VectorType>(Ptrs->getType()); auto DataTy = cast<VectorType>(Data->getType()); - - auto PtrTy = cast<PointerType>(PtrsTy->getElementType()); unsigned NumElts = PtrsTy->getVectorNumElements(); +#ifndef NDEBUG + auto PtrTy = cast<PointerType>(PtrsTy->getElementType()); assert(NumElts == DataTy->getVectorNumElements() && - PtrTy->getElementType() == DataTy->getElementType() && - "Incompatible pointer and data types"); + PtrTy->getElementType() == DataTy->getElementType() && + "Incompatible pointer and data types"); +#endif if (!Mask) Mask = Constant::getAllOnesValue(VectorType::get(Type::getInt1Ty(Context), |

