diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 7a98b482a2e..5fe8ee876c3 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -478,9 +478,9 @@ isEliminableCastPair( // We don't want to form an inttoptr or ptrtoint that converts to an integer // type that differs from the pointer size. if ((Res == Instruction::IntToPtr && - SrcTy != TD->getIntPtrType(CI->getContext())) || + (!TD || SrcTy != TD->getIntPtrType(CI->getContext()))) || (Res == Instruction::PtrToInt && - DstTy != TD->getIntPtrType(CI->getContext()))) + (!TD || DstTy != TD->getIntPtrType(CI->getContext())))) Res = 0; return Instruction::CastOps(Res);