Lines Matching refs:TrueVal

77 static Value *foldSelectWithBinaryOp(Value *Cond, Value *TrueVal,  in foldSelectWithBinaryOp()  argument
107 if (!match(Cond, m_c_BinOp(m_c_ICmp(Pred1, m_Specific(TrueVal), in foldSelectWithBinaryOp()
113 if (X == TrueVal || X == FalseVal || Y == TrueVal || Y == FalseVal) in foldSelectWithBinaryOp()
114 return BinOpCode == BinaryOperator::Or ? TrueVal : FalseVal; in foldSelectWithBinaryOp()
4213 static Value *simplifySelectBitTest(Value *TrueVal, Value *FalseVal, Value *X, in simplifySelectBitTest() argument
4219 if (FalseVal == X && match(TrueVal, m_And(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4221 return TrueWhenUnset ? FalseVal : TrueVal; in simplifySelectBitTest()
4225 if (TrueVal == X && match(FalseVal, m_And(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4227 return TrueWhenUnset ? FalseVal : TrueVal; in simplifySelectBitTest()
4232 if (FalseVal == X && match(TrueVal, m_Or(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4234 return TrueWhenUnset ? TrueVal : FalseVal; in simplifySelectBitTest()
4238 if (TrueVal == X && match(FalseVal, m_Or(m_Specific(X), m_APInt(C))) && in simplifySelectBitTest()
4240 return TrueWhenUnset ? TrueVal : FalseVal; in simplifySelectBitTest()
4250 Value *TrueVal, Value *FalseVal) { in simplifySelectWithFakeICmpEq() argument
4256 return simplifySelectBitTest(TrueVal, FalseVal, X, &Mask, in simplifySelectWithFakeICmpEq()
4262 static Value *simplifySelectWithICmpCond(Value *CondVal, Value *TrueVal, in simplifySelectWithICmpCond() argument
4274 std::swap(TrueVal, FalseVal); in simplifySelectWithICmpCond()
4280 if (TrueVal->getType()->isIntOrIntVectorTy()) { in simplifySelectWithICmpCond()
4283 matchDecomposedSelectPattern(cast<ICmpInst>(CondVal), TrueVal, FalseVal, in simplifySelectWithICmpCond()
4298 if (Value *V = simplifySelectBitTest(TrueVal, FalseVal, X, Y, in simplifySelectWithICmpCond()
4308 if (match(TrueVal, isFsh) && FalseVal == X && CmpLHS == ShAmt) in simplifySelectWithICmpCond()
4321 if (match(FalseVal, isRotate) && TrueVal == X && CmpLHS == ShAmt && in simplifySelectWithICmpCond()
4327 if (match(TrueVal, m_Intrinsic<Intrinsic::abs>(m_Specific(CmpLHS))) && in simplifySelectWithICmpCond()
4330 if (match(TrueVal, in simplifySelectWithICmpCond()
4338 simplifySelectWithFakeICmpEq(CmpLHS, CmpRHS, Pred, TrueVal, FalseVal)) in simplifySelectWithICmpCond()
4349 MaxRecurse) == TrueVal || in simplifySelectWithICmpCond()
4352 MaxRecurse) == TrueVal) in simplifySelectWithICmpCond()
4354 if (simplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, Q, in simplifySelectWithICmpCond()
4357 simplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, Q, in simplifySelectWithICmpCond()
4399 static Value *simplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal, in simplifySelectInst() argument
4402 if (auto *TrueC = dyn_cast<Constant>(TrueVal)) in simplifySelectInst()
4408 return PoisonValue::get(TrueVal->getType()); in simplifySelectInst()
4412 return isa<Constant>(FalseVal) ? FalseVal : TrueVal; in simplifySelectInst()
4419 return TrueVal; in simplifySelectInst()
4426 assert(TrueVal->getType() == FalseVal->getType() && in simplifySelectInst()
4429 if (Cond->getType() == TrueVal->getType()) { in simplifySelectInst()
4431 if (match(TrueVal, m_One()) && match(FalseVal, m_ZeroInt())) in simplifySelectInst()
4438 match(TrueVal, m_c_LogicalOr(m_Specific(X), m_Specific(Y)))) in simplifySelectInst()
4440 if (match(TrueVal, m_c_LogicalOr(m_Value(X), m_Not(m_Value(Y)))) && in simplifySelectInst()
4447 if (TrueVal == FalseVal) in simplifySelectInst()
4448 return TrueVal; in simplifySelectInst()
4455 if (isa<PoisonValue>(TrueVal) || in simplifySelectInst()
4456 (Q.isUndefValue(TrueVal) && in simplifySelectInst()
4463 isGuaranteedNotToBePoison(TrueVal, Q.AC, Q.CxtI, Q.DT))) in simplifySelectInst()
4464 return TrueVal; in simplifySelectInst()
4468 if (isa<FixedVectorType>(TrueVal->getType()) && in simplifySelectInst()
4469 match(TrueVal, m_Constant(TrueC)) && in simplifySelectInst()
4499 simplifySelectWithICmpCond(Cond, TrueVal, FalseVal, Q, MaxRecurse)) in simplifySelectInst()
4502 if (Value *V = simplifySelectWithFCmp(Cond, TrueVal, FalseVal, Q)) in simplifySelectInst()
4505 if (Value *V = foldSelectWithBinaryOp(Cond, TrueVal, FalseVal)) in simplifySelectInst()
4510 return *Imp ? TrueVal : FalseVal; in simplifySelectInst()
4515 Value *llvm::simplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal, in simplifySelectInst() argument
4517 return ::simplifySelectInst(Cond, TrueVal, FalseVal, Q, RecursionLimit); in simplifySelectInst()