Lines Matching refs:FalseVal
84 Value *FalseVal) { in foldSelectWithBinaryOp() argument
114 m_Specific(FalseVal)), in foldSelectWithBinaryOp()
119 if (X == TrueVal || X == FalseVal || Y == TrueVal || Y == FalseVal) in foldSelectWithBinaryOp()
120 return BinOpCode == BinaryOperator::Or ? TrueVal : FalseVal; in foldSelectWithBinaryOp()
4492 static Value *simplifySelectBitTest(Value *TrueVal, Value *FalseVal, Value *X, in simplifySelectBitTest() argument
4498 if (FalseVal == X && match(TrueVal, m_And(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4500 return TrueWhenUnset ? FalseVal : TrueVal; in simplifySelectBitTest()
4504 if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4506 return TrueWhenUnset ? FalseVal : TrueVal; in simplifySelectBitTest()
4511 if (FalseVal == X && match(TrueVal, m_Or(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4516 return TrueWhenUnset ? TrueVal : FalseVal; in simplifySelectBitTest()
4521 if (TrueVal == X && match(FalseVal, m_Or(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4524 if (!TrueWhenUnset && cast<PossiblyDisjointInst>(FalseVal)->isDisjoint()) in simplifySelectBitTest()
4526 return TrueWhenUnset ? TrueVal : FalseVal; in simplifySelectBitTest()
4609 Value *TrueVal, Value *FalseVal) { in simplifySelectWithFakeICmpEq() argument
4615 return simplifySelectBitTest(TrueVal, FalseVal, X, &Mask, in simplifySelectWithFakeICmpEq()
4622 Value *TrueVal, Value *FalseVal, in simplifySelectWithICmpEq() argument
4625 if (simplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, Q.getWithoutUndef(), in simplifySelectWithICmpEq()
4628 return FalseVal; in simplifySelectWithICmpEq()
4631 /* DropFlags */ nullptr, MaxRecurse) == FalseVal) in simplifySelectWithICmpEq()
4632 return FalseVal; in simplifySelectWithICmpEq()
4640 Value *FalseVal, in simplifySelectWithICmpCond() argument
4648 if (Value *V = simplifyCmpSelOfMaxMin(CmpLHS, CmpRHS, Pred, TrueVal, FalseVal)) in simplifySelectWithICmpCond()
4654 std::swap(TrueVal, FalseVal); in simplifySelectWithICmpCond()
4663 matchDecomposedSelectPattern(cast<ICmpInst>(CondVal), TrueVal, FalseVal, in simplifySelectWithICmpCond()
4678 if (Value *V = simplifySelectBitTest(TrueVal, FalseVal, X, Y, in simplifySelectWithICmpCond()
4688 if (match(TrueVal, isFsh) && FalseVal == X && CmpLHS == ShAmt) in simplifySelectWithICmpCond()
4701 if (match(FalseVal, isRotate) && TrueVal == X && CmpLHS == ShAmt && in simplifySelectWithICmpCond()
4703 return FalseVal; in simplifySelectWithICmpCond()
4708 match(FalseVal, m_Neg(m_Intrinsic<Intrinsic::abs>(m_Specific(CmpLHS))))) in simplifySelectWithICmpCond()
4709 return FalseVal; in simplifySelectWithICmpCond()
4712 match(FalseVal, m_Intrinsic<Intrinsic::abs>(m_Specific(CmpLHS)))) in simplifySelectWithICmpCond()
4713 return FalseVal; in simplifySelectWithICmpCond()
4718 simplifySelectWithFakeICmpEq(CmpLHS, CmpRHS, Pred, TrueVal, FalseVal)) in simplifySelectWithICmpCond()
4725 if (Value *V = simplifySelectWithICmpEq(CmpLHS, CmpRHS, TrueVal, FalseVal, in simplifySelectWithICmpCond()
4728 if (Value *V = simplifySelectWithICmpEq(CmpRHS, CmpLHS, TrueVal, FalseVal, in simplifySelectWithICmpCond()
4738 if (Value *V = simplifySelectWithICmpEq(X, CmpRHS, TrueVal, FalseVal, Q, in simplifySelectWithICmpCond()
4741 if (Value *V = simplifySelectWithICmpEq(Y, CmpRHS, TrueVal, FalseVal, Q, in simplifySelectWithICmpCond()
4750 if (Value *V = simplifySelectWithICmpEq(X, CmpRHS, TrueVal, FalseVal, Q, in simplifySelectWithICmpCond()
4753 if (Value *V = simplifySelectWithICmpEq(Y, CmpRHS, TrueVal, FalseVal, Q, in simplifySelectWithICmpCond()
4795 static Value *simplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal, in simplifySelectInst() argument
4799 if (auto *FalseC = dyn_cast<Constant>(FalseVal)) in simplifySelectInst()
4809 return isa<Constant>(FalseVal) ? FalseVal : TrueVal; in simplifySelectInst()
4818 return FalseVal; in simplifySelectInst()
4823 assert(TrueVal->getType() == FalseVal->getType() && in simplifySelectInst()
4828 if (match(TrueVal, m_One()) && match(FalseVal, m_ZeroInt())) in simplifySelectInst()
4832 if (match(Cond, m_c_LogicalAnd(m_Specific(TrueVal), m_Specific(FalseVal)))) in simplifySelectInst()
4833 return FalseVal; in simplifySelectInst()
4836 if (match(Cond, m_c_LogicalOr(m_Specific(TrueVal), m_Specific(FalseVal)))) in simplifySelectInst()
4840 if (match(Cond, m_c_LogicalOr(m_Specific(FalseVal), m_Value())) && in simplifySelectInst()
4845 if (match(FalseVal, m_ZeroInt())) { in simplifySelectInst()
4873 if (match(Cond, m_Not(m_c_LogicalAnd(m_Specific(FalseVal), m_Value())))) in simplifySelectInst()
4876 if (match(FalseVal, m_Not(m_c_LogicalAnd(m_Specific(Cond), m_Value())))) in simplifySelectInst()
4880 if (match(Cond, m_c_LogicalAnd(m_Specific(FalseVal), m_Value()))) in simplifySelectInst()
4881 return FalseVal; in simplifySelectInst()
4883 if (match(FalseVal, m_c_LogicalAnd(m_Specific(Cond), m_Value()))) in simplifySelectInst()
4889 if (TrueVal == FalseVal) in simplifySelectInst()
4894 if (match(FalseVal, m_ZeroInt())) in simplifySelectInst()
4897 if (match(FalseVal, m_One())) in simplifySelectInst()
4900 if (Cond == FalseVal) { in simplifySelectInst()
4915 (Q.isUndefValue(TrueVal) && impliesPoison(FalseVal, Cond))) in simplifySelectInst()
4916 return FalseVal; in simplifySelectInst()
4919 if (isa<PoisonValue>(FalseVal) || in simplifySelectInst()
4920 (Q.isUndefValue(FalseVal) && impliesPoison(TrueVal, Cond))) in simplifySelectInst()
4927 match(FalseVal, m_Constant(FalseC))) { in simplifySelectInst()
4956 simplifySelectWithICmpCond(Cond, TrueVal, FalseVal, Q, MaxRecurse)) in simplifySelectInst()
4959 if (Value *V = simplifySelectWithFCmp(Cond, TrueVal, FalseVal, Q)) in simplifySelectInst()
4962 if (Value *V = foldSelectWithBinaryOp(Cond, TrueVal, FalseVal)) in simplifySelectInst()
4967 return *Imp ? TrueVal : FalseVal; in simplifySelectInst()
4972 Value *llvm::simplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal, in simplifySelectInst() argument
4974 return ::simplifySelectInst(Cond, TrueVal, FalseVal, Q, RecursionLimit); in simplifySelectInst()