diff --git a/lib/Transforms/Scalar/JumpThreading.cpp b/lib/Transforms/Scalar/JumpThreading.cpp index 104d5aecbdd..da0e21699e4 100644 --- a/lib/Transforms/Scalar/JumpThreading.cpp +++ b/lib/Transforms/Scalar/JumpThreading.cpp @@ -443,8 +443,8 @@ ComputeValueKnownInPredecessors(Value *V, BasicBlock *BB,PredValueInfo &Result){ // Try to use constant folding to simplify the binary operator. for (unsigned i = 0, e = LHSVals.size(); i != e; ++i) { - Constant *V = LHSVals[i].first ? LHSVals[i].first : - cast(UndefValue::get(BO->getType())); + Constant *V = LHSVals[i].first; + if (V == 0) V = UndefValue::get(BO->getType()); Constant *Folded = ConstantExpr::get(BO->getOpcode(), V, CI); PushConstantIntOrUndef(Result, Folded, LHSVals[i].second); @@ -518,8 +518,8 @@ ComputeValueKnownInPredecessors(Value *V, BasicBlock *BB,PredValueInfo &Result){ ComputeValueKnownInPredecessors(I->getOperand(0), BB, LHSVals); for (unsigned i = 0, e = LHSVals.size(); i != e; ++i) { - Constant *V = LHSVals[i].first ? LHSVals[i].first : - cast(UndefValue::get(CmpConst->getType())); + Constant *V = LHSVals[i].first; + if (V == 0) V = UndefValue::get(CmpConst->getType()); Constant *Folded = ConstantExpr::getCompare(Cmp->getPredicate(), V, CmpConst); PushConstantIntOrUndef(Result, Folded, LHSVals[i].second);