diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index bbdfda3f76b..534ba5946e2 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -1552,7 +1552,7 @@ Instruction *InstCombiner::visitCastInst(CastInst &CI) { unsigned CastElTySize = TD->getTypeSize(CastElTy); // If the allocation is for an even multiple of the cast type size - if (AllocElTySize % CastElTySize == 0) { + if (CastElTySize && (AllocElTySize % CastElTySize == 0)) { Value *Amt = ConstantUInt::get(Type::UIntTy, AllocElTySize/CastElTySize); std::string Name = AI->getName(); AI->setName("");