Lines Matching refs:Op1
171 if (BinaryOperator *Op1 = dyn_cast<BinaryOperator>(RHS)) in ExpandBinOp() local
172 if (Op1->getOpcode() == OpcodeToExpand) { in ExpandBinOp()
174 Value *A = LHS, *B = Op1->getOperand(0), *C = Op1->getOperand(1); in ExpandBinOp()
208 BinaryOperator *Op1 = dyn_cast<BinaryOperator>(RHS); in SimplifyAssociativeBinOp() local
230 if (Op1 && Op1->getOpcode() == Opcode) { in SimplifyAssociativeBinOp()
232 Value *B = Op1->getOperand(0); in SimplifyAssociativeBinOp()
233 Value *C = Op1->getOperand(1); in SimplifyAssociativeBinOp()
272 if (Op1 && Op1->getOpcode() == Opcode) { in SimplifyAssociativeBinOp()
274 Value *B = Op1->getOperand(0); in SimplifyAssociativeBinOp()
275 Value *C = Op1->getOperand(1); in SimplifyAssociativeBinOp()
529 static Value *SimplifyAddInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, in SimplifyAddInst() argument
532 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyAddInst()
539 std::swap(Op0, Op1); in SimplifyAddInst()
543 if (match(Op1, m_Undef())) in SimplifyAddInst()
544 return Op1; in SimplifyAddInst()
547 if (match(Op1, m_Zero())) in SimplifyAddInst()
554 if (match(Op1, m_Sub(m_Value(Y), m_Specific(Op0))) || in SimplifyAddInst()
555 match(Op0, m_Sub(m_Value(Y), m_Specific(Op1)))) in SimplifyAddInst()
559 if (match(Op0, m_Not(m_Specific(Op1))) || in SimplifyAddInst()
560 match(Op1, m_Not(m_Specific(Op0)))) in SimplifyAddInst()
565 if (Value *V = SimplifyXorInst(Op0, Op1, Q, MaxRecurse-1)) in SimplifyAddInst()
569 if (Value *V = SimplifyAssociativeBinOp(Instruction::Add, Op0, Op1, Q, in SimplifyAddInst()
585 Value *llvm::SimplifyAddInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, in SimplifyAddInst() argument
589 return ::SimplifyAddInst(Op0, Op1, isNSW, isNUW, Query(DL, TLI, DT, AC, CxtI), in SimplifyAddInst()
661 static Value *SimplifySubInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, in SimplifySubInst() argument
664 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifySubInst()
672 if (match(Op0, m_Undef()) || match(Op1, m_Undef())) in SimplifySubInst()
676 if (match(Op1, m_Zero())) in SimplifySubInst()
680 if (Op0 == Op1) in SimplifySubInst()
689 Value *X = nullptr, *Y = nullptr, *Z = Op1; in SimplifySubInst()
712 if (MaxRecurse && match(Op1, m_Add(m_Value(Y), m_Value(Z)))) { // X - (Y + Z) in SimplifySubInst()
734 if (MaxRecurse && match(Op1, m_Sub(m_Value(X), m_Value(Y)))) // Z - (X - Y) in SimplifySubInst()
746 match(Op1, m_Trunc(m_Value(Y)))) in SimplifySubInst()
757 match(Op1, m_PtrToInt(m_Value(Y)))) in SimplifySubInst()
763 if (Value *V = SimplifyXorInst(Op0, Op1, Q, MaxRecurse-1)) in SimplifySubInst()
778 Value *llvm::SimplifySubInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, in SimplifySubInst() argument
782 return ::SimplifySubInst(Op0, Op1, isNSW, isNUW, Query(DL, TLI, DT, AC, CxtI), in SimplifySubInst()
788 static Value *SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFAddInst() argument
791 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyFAddInst()
798 std::swap(Op0, Op1); in SimplifyFAddInst()
802 if (match(Op1, m_NegZero())) in SimplifyFAddInst()
806 if (match(Op1, m_Zero()) && in SimplifyFAddInst()
814 if (match(Op1, m_FSub(m_AnyZero(), m_Specific(Op0)))) in SimplifyFAddInst()
815 SubOp = Op1; in SimplifyFAddInst()
816 else if (match(Op0, m_FSub(m_AnyZero(), m_Specific(Op1)))) in SimplifyFAddInst()
830 static Value *SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFSubInst() argument
833 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyFSubInst()
841 if (match(Op1, m_Zero())) in SimplifyFSubInst()
845 if (match(Op1, m_NegZero()) && in SimplifyFSubInst()
852 if (match(Op1, m_FSub(m_NegZero(), m_Value(X)))) in SimplifyFSubInst()
854 if (FMF.noSignedZeros() && match(Op1, m_FSub(m_AnyZero(), m_Value(X)))) in SimplifyFSubInst()
859 if (FMF.noNaNs() && Op0 == Op1) in SimplifyFSubInst()
866 static Value *SimplifyFMulInst(Value *Op0, Value *Op1, in SimplifyFMulInst() argument
871 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyFMulInst()
878 std::swap(Op0, Op1); in SimplifyFMulInst()
882 if (match(Op1, m_FPOne())) in SimplifyFMulInst()
886 if (FMF.noNaNs() && FMF.noSignedZeros() && match(Op1, m_AnyZero())) in SimplifyFMulInst()
887 return Op1; in SimplifyFMulInst()
894 static Value *SimplifyMulInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyMulInst() argument
897 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyMulInst()
904 std::swap(Op0, Op1); in SimplifyMulInst()
908 if (match(Op1, m_Undef())) in SimplifyMulInst()
912 if (match(Op1, m_Zero())) in SimplifyMulInst()
913 return Op1; in SimplifyMulInst()
916 if (match(Op1, m_One())) in SimplifyMulInst()
921 if (match(Op0, m_Exact(m_IDiv(m_Value(X), m_Specific(Op1)))) || // (X / Y) * Y in SimplifyMulInst()
922 match(Op1, m_Exact(m_IDiv(m_Value(X), m_Specific(Op0))))) // Y * (X / Y) in SimplifyMulInst()
927 if (Value *V = SimplifyAndInst(Op0, Op1, Q, MaxRecurse-1)) in SimplifyMulInst()
931 if (Value *V = SimplifyAssociativeBinOp(Instruction::Mul, Op0, Op1, Q, in SimplifyMulInst()
936 if (Value *V = ExpandBinOp(Instruction::Mul, Op0, Op1, Instruction::Add, in SimplifyMulInst()
942 if (isa<SelectInst>(Op0) || isa<SelectInst>(Op1)) in SimplifyMulInst()
943 if (Value *V = ThreadBinOpOverSelect(Instruction::Mul, Op0, Op1, Q, in SimplifyMulInst()
949 if (isa<PHINode>(Op0) || isa<PHINode>(Op1)) in SimplifyMulInst()
950 if (Value *V = ThreadBinOpOverPHI(Instruction::Mul, Op0, Op1, Q, in SimplifyMulInst()
957 Value *llvm::SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFAddInst() argument
962 return ::SimplifyFAddInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI), in SimplifyFAddInst()
966 Value *llvm::SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFSubInst() argument
971 return ::SimplifyFSubInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI), in SimplifyFSubInst()
975 Value *llvm::SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFMulInst() argument
980 return ::SimplifyFMulInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI), in SimplifyFMulInst()
984 Value *llvm::SimplifyMulInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifyMulInst() argument
988 return ::SimplifyMulInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifyMulInst()
994 static Value *SimplifyDiv(Instruction::BinaryOps Opcode, Value *Op0, Value *Op1, in SimplifyDiv() argument
997 if (Constant *C1 = dyn_cast<Constant>(Op1)) { in SimplifyDiv()
1006 if (match(Op1, m_Undef())) in SimplifyDiv()
1007 return Op1; in SimplifyDiv()
1010 if (match(Op1, m_Zero())) in SimplifyDiv()
1011 return UndefValue::get(Op1->getType()); in SimplifyDiv()
1022 if (match(Op1, m_One())) in SimplifyDiv()
1030 if (Op0 == Op1) in SimplifyDiv()
1035 if (match(Op0, m_Mul(m_Value(X), m_Value(Y))) && (X == Op1 || Y == Op1)) { in SimplifyDiv()
1036 if (Y != Op1) std::swap(X, Y); // Ensure expression is (X * Y) / Y, Y = Op1 in SimplifyDiv()
1049 if ((isSigned && match(Op0, m_SRem(m_Value(), m_Specific(Op1)))) || in SimplifyDiv()
1050 (!isSigned && match(Op0, m_URem(m_Value(), m_Specific(Op1))))) in SimplifyDiv()
1056 match(Op1, m_ConstantInt(C2))) { in SimplifyDiv()
1065 if (isa<SelectInst>(Op0) || isa<SelectInst>(Op1)) in SimplifyDiv()
1066 if (Value *V = ThreadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyDiv()
1071 if (isa<PHINode>(Op0) || isa<PHINode>(Op1)) in SimplifyDiv()
1072 if (Value *V = ThreadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyDiv()
1080 static Value *SimplifySDivInst(Value *Op0, Value *Op1, const Query &Q, in SimplifySDivInst() argument
1082 if (Value *V = SimplifyDiv(Instruction::SDiv, Op0, Op1, Q, MaxRecurse)) in SimplifySDivInst()
1088 Value *llvm::SimplifySDivInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifySDivInst() argument
1092 return ::SimplifySDivInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifySDivInst()
1098 static Value *SimplifyUDivInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyUDivInst() argument
1100 if (Value *V = SimplifyDiv(Instruction::UDiv, Op0, Op1, Q, MaxRecurse)) in SimplifyUDivInst()
1106 Value *llvm::SimplifyUDivInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifyUDivInst() argument
1110 return ::SimplifyUDivInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifyUDivInst()
1114 static Value *SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFDivInst() argument
1121 if (match(Op1, m_Undef())) in SimplifyFDivInst()
1122 return Op1; in SimplifyFDivInst()
1132 if (Op0 == Op1) in SimplifyFDivInst()
1139 BinaryOperator::getFNegArgument(Op0) == Op1) || in SimplifyFDivInst()
1140 (BinaryOperator::isFNeg(Op1, /*IgnoreZeroSign=*/true) && in SimplifyFDivInst()
1141 BinaryOperator::getFNegArgument(Op1) == Op0)) in SimplifyFDivInst()
1148 Value *llvm::SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFDivInst() argument
1153 return ::SimplifyFDivInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI), in SimplifyFDivInst()
1159 static Value *SimplifyRem(Instruction::BinaryOps Opcode, Value *Op0, Value *Op1, in SimplifyRem() argument
1162 if (Constant *C1 = dyn_cast<Constant>(Op1)) { in SimplifyRem()
1169 if (match(Op1, m_Undef())) in SimplifyRem()
1170 return Op1; in SimplifyRem()
1181 if (match(Op1, m_Zero())) in SimplifyRem()
1185 if (match(Op1, m_One())) in SimplifyRem()
1193 if (Op0 == Op1) in SimplifyRem()
1198 match(Op0, m_SRem(m_Value(), m_Specific(Op1)))) || in SimplifyRem()
1200 match(Op0, m_URem(m_Value(), m_Specific(Op1))))) in SimplifyRem()
1205 if (isa<SelectInst>(Op0) || isa<SelectInst>(Op1)) in SimplifyRem()
1206 if (Value *V = ThreadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyRem()
1211 if (isa<PHINode>(Op0) || isa<PHINode>(Op1)) in SimplifyRem()
1212 if (Value *V = ThreadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyRem()
1220 static Value *SimplifySRemInst(Value *Op0, Value *Op1, const Query &Q, in SimplifySRemInst() argument
1222 if (Value *V = SimplifyRem(Instruction::SRem, Op0, Op1, Q, MaxRecurse)) in SimplifySRemInst()
1228 Value *llvm::SimplifySRemInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifySRemInst() argument
1232 return ::SimplifySRemInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifySRemInst()
1238 static Value *SimplifyURemInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyURemInst() argument
1240 if (Value *V = SimplifyRem(Instruction::URem, Op0, Op1, Q, MaxRecurse)) in SimplifyURemInst()
1246 Value *llvm::SimplifyURemInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifyURemInst() argument
1250 return ::SimplifyURemInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifyURemInst()
1254 static Value *SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFRemInst() argument
1261 if (match(Op1, m_Undef())) in SimplifyFRemInst()
1262 return Op1; in SimplifyFRemInst()
1273 Value *llvm::SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF, in SimplifyFRemInst() argument
1278 return ::SimplifyFRemInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI), in SimplifyFRemInst()
1311 static Value *SimplifyShift(unsigned Opcode, Value *Op0, Value *Op1, in SimplifyShift() argument
1314 if (Constant *C1 = dyn_cast<Constant>(Op1)) { in SimplifyShift()
1325 if (match(Op1, m_Zero())) in SimplifyShift()
1329 if (isUndefShift(Op1)) in SimplifyShift()
1334 if (isa<SelectInst>(Op0) || isa<SelectInst>(Op1)) in SimplifyShift()
1335 if (Value *V = ThreadBinOpOverSelect(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyShift()
1340 if (isa<PHINode>(Op0) || isa<PHINode>(Op1)) in SimplifyShift()
1341 if (Value *V = ThreadBinOpOverPHI(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyShift()
1349 static Value *SimplifyRightShift(unsigned Opcode, Value *Op0, Value *Op1, in SimplifyRightShift() argument
1352 if (Value *V = SimplifyShift(Opcode, Op0, Op1, Q, MaxRecurse)) in SimplifyRightShift()
1356 if (Op0 == Op1) in SimplifyRightShift()
1380 static Value *SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, in SimplifyShlInst() argument
1382 if (Value *V = SimplifyShift(Instruction::Shl, Op0, Op1, Q, MaxRecurse)) in SimplifyShlInst()
1392 if (match(Op0, m_Exact(m_Shr(m_Value(X), m_Specific(Op1))))) in SimplifyShlInst()
1397 Value *llvm::SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW, in SimplifyShlInst() argument
1401 return ::SimplifyShlInst(Op0, Op1, isNSW, isNUW, Query(DL, TLI, DT, AC, CxtI), in SimplifyShlInst()
1407 static Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact, in SimplifyLShrInst() argument
1409 if (Value *V = SimplifyRightShift(Instruction::LShr, Op0, Op1, isExact, Q, in SimplifyLShrInst()
1415 if (match(Op0, m_NUWShl(m_Value(X), m_Specific(Op1)))) in SimplifyLShrInst()
1421 Value *llvm::SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact, in SimplifyLShrInst() argument
1426 return ::SimplifyLShrInst(Op0, Op1, isExact, Query(DL, TLI, DT, AC, CxtI), in SimplifyLShrInst()
1432 static Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact, in SimplifyAShrInst() argument
1434 if (Value *V = SimplifyRightShift(Instruction::AShr, Op0, Op1, isExact, Q, in SimplifyAShrInst()
1444 if (match(Op0, m_NSWShl(m_Value(X), m_Specific(Op1)))) in SimplifyAShrInst()
1455 Value *llvm::SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact, in SimplifyAShrInst() argument
1460 return ::SimplifyAShrInst(Op0, Op1, isExact, Query(DL, TLI, DT, AC, CxtI), in SimplifyAShrInst()
1507 static Value *SimplifyAndOfICmps(ICmpInst *Op0, ICmpInst *Op1) { in SimplifyAndOfICmps() argument
1512 if (Value *X = simplifyUnsignedRangeCheck(Op0, Op1, /*IsAnd=*/true)) in SimplifyAndOfICmps()
1519 if (!match(Op1, m_ICmp(Pred1, m_Specific(V), m_Specific(CI1)))) in SimplifyAndOfICmps()
1559 static Value *SimplifyAndInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyAndInst() argument
1562 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyAndInst()
1569 std::swap(Op0, Op1); in SimplifyAndInst()
1573 if (match(Op1, m_Undef())) in SimplifyAndInst()
1577 if (Op0 == Op1) in SimplifyAndInst()
1581 if (match(Op1, m_Zero())) in SimplifyAndInst()
1582 return Op1; in SimplifyAndInst()
1585 if (match(Op1, m_AllOnes())) in SimplifyAndInst()
1589 if (match(Op0, m_Not(m_Specific(Op1))) || in SimplifyAndInst()
1590 match(Op1, m_Not(m_Specific(Op0)))) in SimplifyAndInst()
1596 (A == Op1 || B == Op1)) in SimplifyAndInst()
1597 return Op1; in SimplifyAndInst()
1600 if (match(Op1, m_Or(m_Value(A), m_Value(B))) && in SimplifyAndInst()
1605 if (match(Op0, m_Neg(m_Specific(Op1))) || in SimplifyAndInst()
1606 match(Op1, m_Neg(m_Specific(Op0)))) { in SimplifyAndInst()
1610 if (isKnownToBeAPowerOfTwo(Op1, Q.DL, /*OrZero*/ true, 0, Q.AC, Q.CxtI, in SimplifyAndInst()
1612 return Op1; in SimplifyAndInst()
1616 if (auto *ICIRHS = dyn_cast<ICmpInst>(Op1)) { in SimplifyAndInst()
1625 if (Value *V = SimplifyAssociativeBinOp(Instruction::And, Op0, Op1, Q, in SimplifyAndInst()
1630 if (Value *V = ExpandBinOp(Instruction::And, Op0, Op1, Instruction::Or, in SimplifyAndInst()
1635 if (Value *V = ExpandBinOp(Instruction::And, Op0, Op1, Instruction::Xor, in SimplifyAndInst()
1641 if (isa<SelectInst>(Op0) || isa<SelectInst>(Op1)) in SimplifyAndInst()
1642 if (Value *V = ThreadBinOpOverSelect(Instruction::And, Op0, Op1, Q, in SimplifyAndInst()
1648 if (isa<PHINode>(Op0) || isa<PHINode>(Op1)) in SimplifyAndInst()
1649 if (Value *V = ThreadBinOpOverPHI(Instruction::And, Op0, Op1, Q, in SimplifyAndInst()
1656 Value *llvm::SimplifyAndInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifyAndInst() argument
1660 return ::SimplifyAndInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifyAndInst()
1666 static Value *SimplifyOrOfICmps(ICmpInst *Op0, ICmpInst *Op1) { in SimplifyOrOfICmps() argument
1671 if (Value *X = simplifyUnsignedRangeCheck(Op0, Op1, /*IsAnd=*/false)) in SimplifyOrOfICmps()
1678 if (!match(Op1, m_ICmp(Pred1, m_Specific(V), m_Specific(CI1)))) in SimplifyOrOfICmps()
1718 static Value *SimplifyOrInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyOrInst() argument
1721 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyOrInst()
1728 std::swap(Op0, Op1); in SimplifyOrInst()
1732 if (match(Op1, m_Undef())) in SimplifyOrInst()
1736 if (Op0 == Op1) in SimplifyOrInst()
1740 if (match(Op1, m_Zero())) in SimplifyOrInst()
1744 if (match(Op1, m_AllOnes())) in SimplifyOrInst()
1745 return Op1; in SimplifyOrInst()
1748 if (match(Op0, m_Not(m_Specific(Op1))) || in SimplifyOrInst()
1749 match(Op1, m_Not(m_Specific(Op0)))) in SimplifyOrInst()
1755 (A == Op1 || B == Op1)) in SimplifyOrInst()
1756 return Op1; in SimplifyOrInst()
1759 if (match(Op1, m_And(m_Value(A), m_Value(B))) && in SimplifyOrInst()
1765 (A == Op1 || B == Op1)) in SimplifyOrInst()
1766 return Constant::getAllOnesValue(Op1->getType()); in SimplifyOrInst()
1769 if (match(Op1, m_Not(m_And(m_Value(A), m_Value(B)))) && in SimplifyOrInst()
1774 if (auto *ICIRHS = dyn_cast<ICmpInst>(Op1)) { in SimplifyOrInst()
1783 if (Value *V = SimplifyAssociativeBinOp(Instruction::Or, Op0, Op1, Q, in SimplifyOrInst()
1788 if (Value *V = ExpandBinOp(Instruction::Or, Op0, Op1, Instruction::And, Q, in SimplifyOrInst()
1794 if (isa<SelectInst>(Op0) || isa<SelectInst>(Op1)) in SimplifyOrInst()
1795 if (Value *V = ThreadBinOpOverSelect(Instruction::Or, Op0, Op1, Q, in SimplifyOrInst()
1802 match(Op1, m_And(m_Value(B), m_Value(D)))) { in SimplifyOrInst()
1837 if (isa<PHINode>(Op0) || isa<PHINode>(Op1)) in SimplifyOrInst()
1838 if (Value *V = ThreadBinOpOverPHI(Instruction::Or, Op0, Op1, Q, MaxRecurse)) in SimplifyOrInst()
1844 Value *llvm::SimplifyOrInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifyOrInst() argument
1848 return ::SimplifyOrInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifyOrInst()
1854 static Value *SimplifyXorInst(Value *Op0, Value *Op1, const Query &Q, in SimplifyXorInst() argument
1857 if (Constant *CRHS = dyn_cast<Constant>(Op1)) { in SimplifyXorInst()
1864 std::swap(Op0, Op1); in SimplifyXorInst()
1868 if (match(Op1, m_Undef())) in SimplifyXorInst()
1869 return Op1; in SimplifyXorInst()
1872 if (match(Op1, m_Zero())) in SimplifyXorInst()
1876 if (Op0 == Op1) in SimplifyXorInst()
1880 if (match(Op0, m_Not(m_Specific(Op1))) || in SimplifyXorInst()
1881 match(Op1, m_Not(m_Specific(Op0)))) in SimplifyXorInst()
1885 if (Value *V = SimplifyAssociativeBinOp(Instruction::Xor, Op0, Op1, Q, in SimplifyXorInst()
1901 Value *llvm::SimplifyXorInst(Value *Op0, Value *Op1, const DataLayout &DL, in SimplifyXorInst() argument
1905 return ::SimplifyXorInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI), in SimplifyXorInst()