/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineVectorOps.cpp | 85 if (match(V, m_OneUse(m_BinOp(m_Value(V0), m_Value(V1))))) in cheapToScalarize() 479 if (match(SrcVec, m_BinOp(BO)) && cheapToScalarize(SrcVec, Index) && in visitExtractElementInst() 2155 if (match(Op0, m_BinOp(m_Specific(Op1), m_Constant(C)))) in foldSelectShuffleWith1Binop() 2157 else if (match(Op1, m_BinOp(m_Specific(Op0), m_Constant(C)))) in foldSelectShuffleWith1Binop() 2270 if (!match(Shuf.getOperand(0), m_BinOp(B0)) || in foldSelectShuffle() 2271 !match(Shuf.getOperand(1), m_BinOp(B1))) in foldSelectShuffle() 2280 if (match(B0, m_BinOp(m_Constant(C0), m_Value(X))) && in foldSelectShuffle() 2281 match(B1, m_BinOp(m_Constant(C1), m_Value(Y)))) in foldSelectShuffle() 2283 else if (match(B0, m_CombineOr(m_BinOp(m_Value(X), m_Constant(C0)), in foldSelectShuffle() 2285 match(B1, m_CombineOr(m_BinOp(m_Value(Y), m_Constant(C1)), in foldSelectShuffle() [all …]
|
H A D | InstCombineShifts.cpp | 378 return match(V, m_BinOp(ShiftOpcode, m_Value(X), m_Constant(C0))) && in foldShiftOfShiftedBinOp() 774 if (match(Op0, m_BinOp(I.getOpcode(), m_ImmConstant(C2), m_Value(X)))) { in FoldShiftByConstant() 860 if (match(Op0, m_Select(m_Value(Cond), m_OneUse(m_BinOp(TBO)), in FoldShiftByConstant() 878 m_OneUse(m_BinOp(FBO))))) { in FoldShiftByConstant() 1117 if (match(Op0, m_OneUse(m_Trunc(m_OneUse(m_BinOp(Shr))))) && in visitShl() 1152 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) && in visitShl()
|
H A D | InstCombineSelect.cpp | 77 if (!match(Sel.getOperand(IsEq ? 1 : 2), m_BinOp(BO))) in foldSelectBinOpIdentity() 93 if (!BO->isCommutative() && !match(BO, m_BinOp(m_Value(Y), m_Specific(X)))) in foldSelectBinOpIdentity() 765 if (match(FalseVal, m_BinOp(m_Specific(TrueVal), m_Power2(C2)))) { in foldSelectICmpAndBinOp() 769 } else if (match(TrueVal, m_BinOp(m_Specific(FalseVal), m_Power2(C2)))) { in foldSelectICmpAndBinOp() 1697 if (match(&SI, m_Select(m_Specific(ICI), m_APInt(C), m_BinOp(BO)))) in foldSelectInstWithICmpConst() 1699 else if (match(&SI, m_Select(m_Specific(ICI), m_BinOp(BO), m_APInt(C)))) in foldSelectInstWithICmpConst() 1705 if (!match(BO, m_BinOp(m_Specific(V), m_APInt(BinOpC)))) in foldSelectInstWithICmpConst() 2446 if (!match(Sel.getFalseValue(), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in foldSelectFunnelShift() 3896 if (match(TrueVal, m_OneUse(m_BinOp(TrueBO))) && !TrueBO->isIntDivRem()) { in visitSelectInst() 3915 if (match(FalseVal, m_OneUse(m_BinOp(FalseBO))) && !FalseBO->isIntDivRem()) { in visitSelectInst()
|
H A D | InstCombineAddSub.cpp | 1027 AddOp, m_OneUse(m_BinOp(MulOp, m_Value(A), m_Deferred(A))), in matchesSquareSum() 1030 m_c_BinOp(AddOp, m_BinOp(Mul2Op, m_Deferred(A), M2Rhs), in matchesSquareSum() 1042 m_OneUse(m_BinOp( in matchesSquareSum() 1043 Mul2Op, m_BinOp(MulOp, m_Value(A), m_Value(B)), M2Rhs)), in matchesSquareSum() 1044 m_OneUse(m_c_BinOp(MulOp, m_BinOp(Mul2Op, m_Value(A), M2Rhs), in matchesSquareSum() 1047 m_c_BinOp(AddOp, m_BinOp(MulOp, m_Deferred(A), m_Deferred(A)), in matchesSquareSum() 1048 m_BinOp(MulOp, m_Deferred(B), m_Deferred(B)))))); in matchesSquareSum() 1562 match(&I, m_BinOp(m_c_Add(m_Not(m_Value(B)), m_Value(A)), m_One()))) in visitAdd() 2343 if (match(Op1, m_OneUse(m_And(m_BinOp(InnerSub), m_APInt(C2)))) && in visitSub()
|
H A D | InstCombineSimplifyDemanded.cpp | 1872 if (match(I, m_BinOp(BO)) && !BO->isIntDivRem() && !BO->isShift()) { in SimplifyDemandedVectorElts() 1908 ? match(U, m_BinOp(Opcode, Shuf, m_Specific(OtherOp))) in SimplifyDemandedVectorElts() 1909 : match(U, m_BinOp(Opcode, m_Specific(OtherOp), Shuf))) in SimplifyDemandedVectorElts()
|
H A D | InstCombineCasts.cpp | 457 if (!match(Trunc.getOperand(0), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in narrowFunnelShift() 554 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp() 2375 if (!match(BitCast.getOperand(0), m_OneUse(m_BinOp(BO))) || in foldBitCastBitwiseLogic()
|
H A D | InstCombinePHI.cpp | 1395 if (match(V2, m_c_BinOp(m_Specific(V1), m_BinOp(Iv2Next))) || in foldDependentIVs() 1396 match(V2, m_GEP(m_Specific(V1), m_BinOp(Iv2Next)))) { in foldDependentIVs()
|
H A D | InstCombineAndOrXor.cpp | 1628 !match(Op1, m_BinOp(Opcode, m_Value(BO10), m_Value(BO11)))) in reassociateFCmps() 1851 if (match(&I, m_BinOp(m_Or(m_Value(A), m_Value(B)), in foldAndToXor() 1860 if (match(&I, m_BinOp(m_c_Or(m_Value(A), m_Not(m_Value(B))), in foldAndToXor() 2045 m_BinOp(FlippedOpcode, m_Value(B), m_Value(C)), in foldComplexAndOrPatterns() 2099 m_c_BinOp(Opcode, m_OneUse(m_BinOp(Opcode, m_Value(X), m_Value(Y))), in reassociateForUses() 2446 if (match(Op0, m_OneUse(m_BinOp(BO))) && isNarrowableBinOpcode(BO)) { in visitAnd() 4485 if (match(NotOp, m_BinOp(NotVal))) { in foldNot()
|
H A D | InstCombineMulDivRem.cpp | 166 if (match(Y, m_OneUse(m_Add(m_BinOp(Shift), m_One()))) && in foldMulShl1() 685 match(Op0, m_AllowReassoc(m_BinOp(Op0BinOp)))) { in foldFMulReassoc() 1343 if (match(Op0, m_BinOp(I.getOpcode(), m_c_Mul(m_Specific(Op1), m_Value(X)), in commonIDivTransforms()
|
H A D | InstructionCombining.cpp | 551 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative() 552 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative() 939 m_BinOp(m_Value(ShiftedX), m_Value(Mask)))) in foldBinOpShiftWithShift() 2222 !match(RHS, m_OneUse(m_BinOp(Opcode, m_Value(Y), m_Value(OtherOp))))) in foldVectorBinop()
|
H A D | InstCombineCalls.cpp | 1133 if (!match(MinMax2, m_SMax(m_BinOp(AddSub), m_APInt(MinValue)))) in matchSAddSubSat() 1137 if (!match(MinMax2, m_SMin(m_BinOp(AddSub), m_APInt(MaxValue)))) in matchSAddSubSat() 3310 if (match(Vec, m_OneUse(m_BinOp(m_Value(BO0), m_Value(BO1))))) { in visitCallInst()
|
H A D | InstCombineCompares.cpp | 4535 match(XShift, m_BinOp(m_Value(X), m_ZExtOrSelf(m_Value(XShAmt)))); in foldShiftIntoShiftInAnotherHandOfAndInICmp() 4536 match(YShift, m_BinOp(m_Value(Y), m_ZExtOrSelf(m_Value(YShAmt)))); in foldShiftIntoShiftInAnotherHandOfAndInICmp() 4947 match(Op0, m_And(m_BinOp(BO), m_LowBitMask(C))) && in foldICmpBinOp() 4956 match(Op1, m_And(m_BinOp(BO), m_LowBitMask(C))) && in foldICmpBinOp()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VectorCombine.cpp | 583 !match(&I, m_BinOp(m_Instruction(I0), m_Instruction(I1)))) in foldExtractExtract() 911 if (!match(&I, m_BinOp(m_Value(Ins0), m_Value(Ins1))) && in scalarizeBinopOrCmp() 1404 if (!match(&I, m_Shuffle(m_OneUse(m_BinOp(B0)), m_OneUse(m_BinOp(B1)), in foldShuffleOfBinops()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | PatternMatch.h | 100 inline class_match<BinaryOperator> m_BinOp() { in m_BinOp() function 820 inline bind_ty<BinaryOperator> m_BinOp(BinaryOperator *&I) { return I; } in m_BinOp() function 1040 inline AnyBinaryOp_match<LHS, RHS> m_BinOp(const LHS &L, const RHS &R) { in m_BinOp() function 1359 inline SpecificBinaryOp_match<LHS, RHS> m_BinOp(unsigned Opcode, const LHS &L, in m_BinOp() function
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LowerMatrixIntrinsics.cpp | 1355 if (match(Op, m_BinOp())) in lowerDotProduct() 1387 if (match(Op, m_BinOp()) && ShapeMap.find(Op) != ShapeMap.end()) { in lowerDotProduct() 1466 if (match(Op, m_BinOp()) && ShapeMap.find(Op) != ShapeMap.end()) { in lowerDotProduct()
|
H A D | Reassociate.cpp | 834 if (match(TheNeg, m_BinOp(m_Constant(C), m_Value())) && in NegateValue()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
H A D | MIPatternMatch.h | 438 inline BinaryOpc_match<LHS, RHS, false> m_BinOp(unsigned Opcode, const LHS &L,
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | SDPatternMatch.h | 520 inline BinaryOpc_match<LHS, RHS, false> m_BinOp(unsigned Opc, const LHS &L,
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | VectorUtils.cpp | 299 if (match(V, m_BinOp(m_Value(X), m_Value(Y)))) in isSplatValue()
|
H A D | InstructionSimplify.cpp | 2213 m_CombineAnd(m_BinOp(Or), in simplifyAndInst()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ComplexDeinterleavingPass.cpp | 831 m_BinOp(m_FMul(m_Value(), m_Value()), m_FMul(m_Value(), m_Value())); in isInstructionPairMul()
|
H A D | CodeGenPrepare.cpp | 1668 if (!match(Cmp, m_UAddWithOverflow(m_Value(A), m_Value(B), m_BinOp(Add)))) { in combineToUAddWithOverflow()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | CombinerHelper.cpp | 4588 m_BinOp(Opcode, in matchBitfieldExtractFromShr() 4629 m_BinOp(Opcode, in matchBitfieldExtractFromShrAnd()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64TargetTransformInfo.cpp | 1226 if (match(Vec, m_OneUse(m_BinOp(m_Value(LHS), m_Value(RHS))))) { in instCombineSVELast()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | SimplifyCFG.cpp | 3598 m_BinOp(), in FoldTwoEntryPHINode()
|