diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 1a9b9d7424a..7db409d39e2 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -3844,7 +3844,7 @@ Instruction *InstCombiner::PromoteCastOfAllocation(CastInst &CI, } else if (isa(NumElements) && cast(NumElements)->getOpcode() == Instruction::Mul){ BinaryOperator *BO = cast(NumElements); - if (ConstantUInt *Scale = cast(BO->getOperand(1))) { + if (ConstantUInt *Scale = dyn_cast(BO->getOperand(1))) { // This value is scaled by 'Scale'. NumElements = BO->getOperand(0); ArraySizeScale = Scale->getValue();