Lines Matching full:falseval
212 Value *FalseVal) {
217 !isa<Constant>(FalseVal)) {
220 if ((SFO & 1) && FalseVal == TVI->getOperand(0)) {
222 } else if ((SFO & 2) && FalseVal == TVI->getOperand(1)) {
236 FalseVal, NewSel);
250 if (Instruction *FVI = dyn_cast<Instruction>(FalseVal)) {
367 Value *FalseVal,
386 bool OrOnFalseVal = match(FalseVal, m_Or(m_Specific(TrueVal), m_Power2(C2)));
388 OrOnTrueVal = match(TrueVal, m_Or(m_Specific(FalseVal), m_Power2(C2)));
394 Value *Y = OrOnFalseVal ? TrueVal : FalseVal;
425 Value *FalseVal = SI.getFalseValue();
435 return ReplaceInstUsesWith(SI, FalseVal);
439 return ReplaceInstUsesWith(SI, FalseVal);
459 if ((CmpLHS == TrueVal && AdjustedRHS == FalseVal) ||
460 (CmpLHS == FalseVal && AdjustedRHS == TrueVal))
475 sextRHS == FalseVal) {
478 } else if (match(FalseVal, m_SExt(m_Specific(CmpLHS))) &&
480 CmpLHS = FalseVal;
489 zextRHS == FalseVal) {
492 } else if (match(FalseVal, m_ZExt(m_Specific(CmpLHS))) &&
494 CmpLHS = FalseVal;
505 std::swap(FalseVal, TrueVal);
510 SI.setOperand(2, FalseVal);
533 C2 = dyn_cast<ConstantInt>(FalseVal);
535 C1 = dyn_cast<ConstantInt>(FalseVal);
557 if (SimplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, TD, TLI) == TrueVal ||
558 SimplifyWithOpReplaced(FalseVal, CmpRHS, CmpLHS, TD, TLI) == TrueVal)
559 return ReplaceInstUsesWith(SI, FalseVal);
560 if (SimplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, TD, TLI) == FalseVal ||
561 SimplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, TD, TLI) == FalseVal)
562 return ReplaceInstUsesWith(SI, FalseVal);
564 if (SimplifyWithOpReplaced(TrueVal, CmpLHS, CmpRHS, TD, TLI) == FalseVal ||
565 SimplifyWithOpReplaced(TrueVal, CmpRHS, CmpLHS, TD, TLI) == FalseVal)
567 if (SimplifyWithOpReplaced(FalseVal, CmpLHS, CmpRHS, TD, TLI) == TrueVal ||
568 SimplifyWithOpReplaced(FalseVal, CmpRHS, CmpLHS, TD, TLI) == TrueVal)
579 } else if (CmpLHS == FalseVal && Pred == ICmpInst::ICMP_NE) {
586 if (Value *V = foldSelectICmpAndOr(SI, TrueVal, FalseVal, Builder))
662 ConstantInt *FalseVal,
680 if (!TrueVal->isZero() && !FalseVal->isZero()) {
681 if ((TrueVal->getValue() - FalseVal->getValue()).isPowerOf2())
682 Offset = FalseVal;
683 else if ((FalseVal->getValue() - TrueVal->getValue()).isPowerOf2())
688 // Adjust TrueVal and FalseVal to the offset.
691 FalseVal = ConstantInt::get(Builder->getContext(),
692 FalseVal->getValue() - Offset->getValue());
698 !FalseVal->getValue().isPowerOf2()))
703 ConstantInt *ValC = !TrueVal->isZero() ? TrueVal : FalseVal;
735 Value *FalseVal = SI.getFalseValue();
737 if (Value *V = SimplifySelectInst(CondVal, TrueVal, FalseVal, TD))
744 return BinaryOperator::CreateOr(CondVal, FalseVal);
748 return BinaryOperator::CreateAnd(NotCond, FalseVal);
750 if (ConstantInt *C = dyn_cast<ConstantInt>(FalseVal)) {
763 return BinaryOperator::CreateOr(CondVal, FalseVal);
764 if (CondVal == FalseVal)
770 return BinaryOperator::CreateAnd(TrueVal, FalseVal);
771 if (match(FalseVal, m_Not(m_Specific(CondVal))))
772 return BinaryOperator::CreateOr(TrueVal, FalseVal);
777 if (ConstantInt *FalseValC = dyn_cast<ConstantInt>(FalseVal)) {
804 if (FCI->getOperand(0) == TrueVal && FCI->getOperand(1) == FalseVal) {
813 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
815 return ReplaceInstUsesWith(SI, FalseVal);
825 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
831 } else if (FCI->getOperand(0) == FalseVal && FCI->getOperand(1) == TrueVal){
840 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
842 return ReplaceInstUsesWith(SI, FalseVal);
852 ((CFPf = dyn_cast<ConstantFP>(FalseVal)) &&
867 if (Instruction *FI = dyn_cast<Instruction>(FalseVal))
926 if (Instruction *FoldI = FoldSelectIntoOp(SI, TrueVal, FalseVal))
954 CanSelectOperandBeMappingIntoPredBlock(FalseVal, SI))
966 if (SelectInst *FalseSI = dyn_cast<SelectInst>(FalseVal)) {
977 SI.setOperand(1, FalseVal);
993 return ReplaceInstUsesWith(SI, FalseVal);