diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 07fe1b802e6..c1f66b772af 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -2169,6 +2169,7 @@ static bool isSimpleEnoughPointerToCommit(Constant *C) { // and we know how to evaluate it by moving the bitcast from the pointer // operand to the value operand. } else if (CE->getOpcode() == Instruction::BitCast && + isa(CE->getOperand(0)) && CE->getType()->isPointerTy() && CE->getOperand(0)->getType()->isPointerTy()) { GlobalVariable *GV = cast(CE->getOperand(0));