diff options
Diffstat (limited to 'llvm/lib/Analysis/InstructionSimplify.cpp')
-rw-r--r-- | llvm/lib/Analysis/InstructionSimplify.cpp | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index 90baa05..82530e7 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -6484,9 +6484,6 @@ Value *llvm::simplifyBinaryIntrinsic(Intrinsic::ID IID, Type *ReturnType, break; } case Intrinsic::ptrmask: { - if (isa<PoisonValue>(Op0) || isa<PoisonValue>(Op1)) - return PoisonValue::get(Op0->getType()); - // NOTE: We can't apply this simplifications based on the value of Op1 // because we need to preserve provenance. if (Q.isUndefValue(Op0) || match(Op0, m_Zero())) @@ -6533,10 +6530,6 @@ Value *llvm::simplifyBinaryIntrinsic(Intrinsic::ID IID, Type *ReturnType, if (match(Op0, m_ImmConstant())) std::swap(Op0, Op1); - // Propagate poison. - if (isa<PoisonValue>(Op1)) - return Op1; - // Assume undef is the limit value. if (Q.isUndefValue(Op1)) return ConstantInt::get( @@ -6696,9 +6689,6 @@ Value *llvm::simplifyBinaryIntrinsic(Intrinsic::ID IID, Type *ReturnType, return Op1; break; case Intrinsic::is_fpclass: { - if (isa<PoisonValue>(Op0)) - return PoisonValue::get(ReturnType); - uint64_t Mask = cast<ConstantInt>(Op1)->getZExtValue(); // If all tests are made, it doesn't matter what the value is. if ((Mask & fcAllFlags) == fcAllFlags) |