Lines Matching defs:FalseVal

38   Value *FalseVal = SI->getFalseValue();
44 if (TrueVal == CmpLHS && FalseVal == CmpRHS) {
59 if (TrueVal == CmpRHS && FalseVal == CmpLHS) {
74 if ((CmpLHS == TrueVal && match(FalseVal, m_Neg(m_Specific(CmpLHS)))) ||
75 (CmpLHS == FalseVal && match(TrueVal, m_Neg(m_Specific(CmpLHS))))) {
86 return (CmpLHS == FalseVal) ? SPF_ABS : SPF_NABS;
236 Value *FalseVal) {
241 !isa<Constant>(FalseVal)) {
244 if ((SFO & 1) && FalseVal == TVI->getOperand(0)) {
246 } else if ((SFO & 2) && FalseVal == TVI->getOperand(1)) {
260 FalseVal, NewSel);
274 if (Instruction *FVI = dyn_cast<Instruction>(FalseVal)) {
392 Value *FalseVal,
411 bool OrOnFalseVal = match(FalseVal, m_Or(m_Specific(TrueVal), m_Power2(C2)));
413 OrOnTrueVal = match(TrueVal, m_Or(m_Specific(FalseVal), m_Power2(C2)));
419 Value *Y = OrOnFalseVal ? TrueVal : FalseVal;
452 static Value *foldSelectCttzCtlz(ICmpInst *ICI, Value *TrueVal, Value *FalseVal,
462 Value *Count = FalseVal;
506 Value *FalseVal = SI.getFalseValue();
516 return ReplaceInstUsesWith(SI, FalseVal);
520 return ReplaceInstUsesWith(SI, FalseVal);
540 if ((CmpLHS == TrueVal && AdjustedRHS == FalseVal) ||
541 (CmpLHS == FalseVal && AdjustedRHS == TrueVal))
556 sextRHS == FalseVal) {
559 } else if (match(FalseVal, m_SExt(m_Specific(CmpLHS))) &&
561 CmpLHS = FalseVal;
570 zextRHS == FalseVal) {
573 } else if (match(FalseVal, m_ZExt(m_Specific(CmpLHS))) &&
575 CmpLHS = FalseVal;
586 std::swap(FalseVal, TrueVal);
591 SI.setOperand(2, FalseVal);
614 C2 = dyn_cast<ConstantInt>(FalseVal);
616 C1 = dyn_cast<ConstantInt>(FalseVal);
638 if (SimplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, TLI, DL, DT, AC) ==
640 SimplifyWithOpReplaced(FalseVal, CmpRHS, CmpLHS, TLI, DL, DT, AC) ==
642 return ReplaceInstUsesWith(SI, FalseVal);
644 FalseVal ||
646 FalseVal)
647 return ReplaceInstUsesWith(SI, FalseVal);
650 FalseVal ||
652 FalseVal)
654 if (SimplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, TLI, DL, DT, AC) ==
656 SimplifyWithOpReplaced(FalseVal, CmpRHS, CmpLHS, TLI, DL, DT, AC) ==
668 } else if (CmpLHS == FalseVal && Pred == ICmpInst::ICMP_NE) {
701 match(FalseVal, m_Xor(m_Specific(X), m_APInt(C))) && *Y == *C)
704 else if (!TrueWhenUnset && FalseVal == X &&
708 else if (TrueWhenUnset && FalseVal == X &&
713 match(FalseVal, m_Xor(m_Specific(X), m_APInt(C))) && *Y == *C)
721 if (Value *V = foldSelectICmpAndOr(SI, TrueVal, FalseVal, Builder))
724 if (Value *V = foldSelectCttzCtlz(ICI, TrueVal, FalseVal, Builder))
840 ConstantInt *FalseVal,
858 if (!TrueVal->isZero() && !FalseVal->isZero()) {
859 if ((TrueVal->getValue() - FalseVal->getValue()).isPowerOf2())
860 Offset = FalseVal;
861 else if ((FalseVal->getValue() - TrueVal->getValue()).isPowerOf2())
866 // Adjust TrueVal and FalseVal to the offset.
869 FalseVal = ConstantInt::get(Builder->getContext(),
870 FalseVal->getValue() - Offset->getValue());
876 !FalseVal->getValue().isPowerOf2()))
881 ConstantInt *ValC = !TrueVal->isZero() ? TrueVal : FalseVal;
913 Value *FalseVal = SI.getFalseValue();
916 SimplifySelectInst(CondVal, TrueVal, FalseVal, DL, TLI, DT, AC))
923 return BinaryOperator::CreateOr(CondVal, FalseVal);
927 return BinaryOperator::CreateAnd(NotCond, FalseVal);
929 if (ConstantInt *C = dyn_cast<ConstantInt>(FalseVal)) {
942 return BinaryOperator::CreateOr(CondVal, FalseVal);
943 if (CondVal == FalseVal)
949 return BinaryOperator::CreateAnd(TrueVal, FalseVal);
950 if (match(FalseVal, m_Not(m_Specific(CondVal))))
951 return BinaryOperator::CreateOr(TrueVal, FalseVal);
956 if (ConstantInt *FalseValC = dyn_cast<ConstantInt>(FalseVal)) {
983 if (FCI->getOperand(0) == TrueVal && FCI->getOperand(1) == FalseVal) {
992 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
994 return ReplaceInstUsesWith(SI, FalseVal);
1004 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
1016 Value *NewCond = Builder->CreateFCmp(InvPred, TrueVal, FalseVal,
1019 return SelectInst::Create(NewCond, FalseVal, TrueVal,
1024 } else if (FCI->getOperand(0) == FalseVal && FCI->getOperand(1) == TrueVal){
1033 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
1035 return ReplaceInstUsesWith(SI, FalseVal);
1045 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
1057 Value *NewCond = Builder->CreateFCmp(InvPred, FalseVal, TrueVal,
1060 return SelectInst::Create(NewCond, FalseVal, TrueVal,
1075 if (Instruction *FI = dyn_cast<Instruction>(FalseVal))
1145 if (Instruction *FoldI = FoldSelectIntoOp(SI, TrueVal, FalseVal))
1201 CanSelectOperandBeMappingIntoPredBlock(FalseVal, SI))
1217 if (TrueSI->getFalseValue() == FalseVal && TrueSI->hasOneUse()) {
1225 if (SelectInst *FalseSI = dyn_cast<SelectInst>(FalseVal)) {
1246 SI.setOperand(1, FalseVal);
1262 return ReplaceInstUsesWith(SI, FalseVal);