Lines Matching refs:TrueVal
68 static Value *foldSelectWithBinaryOp(Value *Cond, Value *TrueVal, in foldSelectWithBinaryOp() argument
98 if (!match(Cond, m_c_BinOp(m_c_ICmp(Pred1, m_Specific(TrueVal), in foldSelectWithBinaryOp()
104 if (X == TrueVal || X == FalseVal || Y == TrueVal || Y == FalseVal) in foldSelectWithBinaryOp()
105 return BinOpCode == BinaryOperator::Or ? TrueVal : FalseVal; in foldSelectWithBinaryOp()
3842 static Value *simplifySelectBitTest(Value *TrueVal, Value *FalseVal, Value *X, in simplifySelectBitTest() argument
3848 if (FalseVal == X && match(TrueVal, m_And(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
3850 return TrueWhenUnset ? FalseVal : TrueVal; in simplifySelectBitTest()
3854 if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
3856 return TrueWhenUnset ? FalseVal : TrueVal; in simplifySelectBitTest()
3861 if (FalseVal == X && match(TrueVal, m_Or(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
3863 return TrueWhenUnset ? TrueVal : FalseVal; in simplifySelectBitTest()
3867 if (TrueVal == X && match(FalseVal, m_Or(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
3869 return TrueWhenUnset ? TrueVal : FalseVal; in simplifySelectBitTest()
3879 Value *TrueVal, Value *FalseVal) { in simplifySelectWithFakeICmpEq() argument
3885 return simplifySelectBitTest(TrueVal, FalseVal, X, &Mask, in simplifySelectWithFakeICmpEq()
3891 static Value *simplifySelectWithICmpCond(Value *CondVal, Value *TrueVal, in simplifySelectWithICmpCond() argument
3903 if (Value *V = simplifySelectBitTest(TrueVal, FalseVal, X, Y, in simplifySelectWithICmpCond()
3919 if (match(TrueVal, isFsh) && FalseVal == X && CmpLHS == ShAmt) in simplifySelectWithICmpCond()
3920 return Pred == ICmpInst::ICMP_NE ? TrueVal : X; in simplifySelectWithICmpCond()
3926 if (match(FalseVal, isFsh) && TrueVal == X && CmpLHS == ShAmt) in simplifySelectWithICmpCond()
3932 TrueVal, FalseVal)) in simplifySelectWithICmpCond()
3940 TrueVal || in simplifySelectWithICmpCond()
3942 TrueVal) in simplifySelectWithICmpCond()
3944 if (SimplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, Q, MaxRecurse) == in simplifySelectWithICmpCond()
3946 SimplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, Q, MaxRecurse) == in simplifySelectWithICmpCond()
3950 if (SimplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, Q, MaxRecurse) == in simplifySelectWithICmpCond()
3952 SimplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, Q, MaxRecurse) == in simplifySelectWithICmpCond()
3954 return TrueVal; in simplifySelectWithICmpCond()
3956 TrueVal || in simplifySelectWithICmpCond()
3958 TrueVal) in simplifySelectWithICmpCond()
3959 return TrueVal; in simplifySelectWithICmpCond()
3995 static Value *SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal, in SimplifySelectInst() argument
3998 if (auto *TrueC = dyn_cast<Constant>(TrueVal)) in SimplifySelectInst()
4004 return isa<Constant>(FalseVal) ? FalseVal : TrueVal; in SimplifySelectInst()
4010 return TrueVal; in SimplifySelectInst()
4017 if (TrueVal == FalseVal) in SimplifySelectInst()
4018 return TrueVal; in SimplifySelectInst()
4020 if (isa<UndefValue>(TrueVal)) // select ?, undef, X -> X in SimplifySelectInst()
4023 return TrueVal; in SimplifySelectInst()
4026 simplifySelectWithICmpCond(Cond, TrueVal, FalseVal, Q, MaxRecurse)) in SimplifySelectInst()
4029 if (Value *V = simplifySelectWithFCmp(Cond, TrueVal, FalseVal)) in SimplifySelectInst()
4032 if (Value *V = foldSelectWithBinaryOp(Cond, TrueVal, FalseVal)) in SimplifySelectInst()
4037 return *Imp ? TrueVal : FalseVal; in SimplifySelectInst()
4042 Value *llvm::SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal, in SimplifySelectInst() argument
4044 return ::SimplifySelectInst(Cond, TrueVal, FalseVal, Q, RecursionLimit); in SimplifySelectInst()