| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineAddSub.cpp | 838 if (match(Op0, m_OneUse(m_SExtLike( in foldNoWrapAdd() 847 m_OneUse(m_ZExt(m_NUWAddLike(m_Value(X), m_Constant(NarrowC)))))) { in foldNoWrapAdd() 876 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) && in foldAddWithConstant() 903 if (match(Op0, m_OneUse(m_AShr(m_Value(X), in foldAddWithConstant() 998 if (match(Op0, m_OneUse(m_UMax(m_Value(X), m_SpecificInt(-*C))))) in foldAddWithConstant() 1033 AddOp, m_OneUse(m_BinOp(MulOp, m_Value(A), m_Deferred(A))), in matchesSquareSum() 1034 m_OneUse(m_c_BinOp( in matchesSquareSum() 1048 m_OneUse(m_BinOp( in matchesSquareSum() 1050 m_OneUse(m_c_BinOp(MulOp, m_BinOp(Mul2Op, m_Value(A), M2Rhs), in matchesSquareSum() 1052 m_OneUse( in matchesSquareSum() [all …]
|
| H A D | InstCombineAndOrXor.cpp | 800 if (!match(LHS, m_OneUse(m_ICmp(Pred, m_Value(Op), m_Zero()))) || in foldAndOrOfICmpsWithPow2AndWithZero() 801 !match(RHS, m_OneUse(m_c_ICmp(Pred, m_Specific(Op), m_Value(Pow2)))) || in foldAndOrOfICmpsWithPow2AndWithZero() 1154 if (!match(V, m_OneUse(m_Trunc(m_Value(X))))) in matchIntPart() 1163 if (match(X, m_OneUse(m_LShr(m_Value(Y), m_APInt(Shift)))) && in matchIntPart() 1584 match(Op0, m_OneUse(m_Intrinsic<Intrinsic::is_fpclass>( in foldLogicOfIsFPClass() 1587 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::is_fpclass>( in foldLogicOfIsFPClass() 1642 if (!match(&I, m_c_BinOp(m_OneUse(m_Value()), m_Value())) || in canonicalizeConditionalNegationViaMathToSelect() 1708 if (match(Op0, m_OneUse(m_Not(m_Value(A)))) && in matchDeMorgansLaws() 1709 match(Op1, m_OneUse(m_Not(m_Value(B)))) && in matchDeMorgansLaws() 1723 if (match(Op0, m_OneUse(m_c_BinOp(Opcode, m_Value(A), m_Not(m_Value(B))))) && in matchDeMorgansLaws() [all …]
|
| H A D | InstCombineShifts.cpp | 105 !match(Sh0, m_c_BinOp(m_OneUse(m_Value()), m_Value()))) in reassociateShiftAmtsOfTwoSameDirectionShifts() 415 if (match(Op1, m_OneUse(m_SExt(m_Value(Y))))) { in commonShiftTransforms() 518 match(Op0, m_OneUse(m_Instruction(CmpIntr))) && in commonShiftTransforms() 876 if (match(Op0, m_Select(m_Value(Cond), m_OneUse(m_BinOp(TBO)), in FoldShiftByConstant() 894 m_OneUse(m_BinOp(FBO))))) { in FoldShiftByConstant() 936 m_Add(m_OneUse(m_ZExt(m_Value(X))), m_OneUse(m_ZExt(m_Value(Y)))))) in foldLShrOverflowBit() 1068 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in visitShl() 1107 if (match(Op0, m_OneUse(m_Shr(m_Value(X), m_APInt(C1)))) && in visitShl() 1139 if (match(Op0, m_OneUse(m_Trunc(m_OneUse(m_BinOp(Shr))))) && in visitShl() 1174 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) && in visitShl() [all …]
|
| H A D | InstCombineMulDivRem.cpp | 59 if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) && in simplifyValueKnownNonZero() 106 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_One(), m_AllOnes())), in foldMulSelectToNegate() 114 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_AllOnes(), m_One())), in foldMulSelectToNegate() 123 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(1.0), in foldMulSelectToNegate() 131 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(-1.0), in foldMulSelectToNegate() 163 if (match(Y, m_OneUse(m_Add(m_BinOp(Shift), m_One()))) && in foldMulShl1() 164 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1() 178 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1() 330 if (match(Op0, m_OneUse(m_AddLike(m_Value(X), m_ImmConstant(C1))))) { in visitMul() 358 m_OneUse(m_Intrinsic<Intrinsic::abs>(m_Value(X), m_One()))) && in visitMul() [all …]
|
| H A D | InstCombineCasts.cpp | 216 if (match(Src, m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(Mask))))) { in commonCastTransforms() 478 if (!match(Src, m_OneUse(m_ExtractElt(m_Value(VecOp), m_ConstantInt(Cst)))) && in foldVecExtTruncToExtElt() 480 m_OneUse(m_LShr(m_ExtractElt(m_Value(VecOp), m_ConstantInt(Cst)), in foldVecExtTruncToExtElt() 532 if (!match(Trunc.getOperand(0), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in narrowFunnelShift() 536 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(ShVal0), m_Value(ShAmt0)))) || in narrowFunnelShift() 537 !match(Or1, m_OneUse(m_LogicalShift(m_Value(ShVal1), m_Value(ShAmt1)))) || in narrowFunnelShift() 561 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) in narrowFunnelShift() 630 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp() 810 if (match(Src, m_OneUse(m_Shr(m_Shl(m_Power2(C1), m_Value(X)), in visitTrunc() 825 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_ImmConstant(C))))) { in visitTrunc() [all …]
|
| H A D | InstCombineSelect.cpp | 642 if (!match(TVal, m_OneUse(m_And(m_Value(B), m_One())))) in foldSelectICmpAndAnd() 647 const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z)))); in foldSelectICmpAndAnd() 852 match(F, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits() 861 match(T, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits() 1668 if (!match(&Cmp, m_OneUse(m_ICmp( in tryToReuseConstantFromSelectInComparison() 2359 if (!match(Cond, m_OneUse(m_ExtractElt(m_Value(), m_ConstantInt())))) in canonicalizeScalarSelectOfVecs() 2500 if (!match(Sel.getFalseValue(), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in foldSelectFunnelShift() 2504 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(SV0), in foldSelectFunnelShift() 2506 !match(Or1, m_OneUse(m_LogicalShift(m_Value(SV1), in foldSelectFunnelShift() 2523 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0))))) in foldSelectFunnelShift() [all …]
|
| H A D | InstCombineCalls.cpp | 525 if (match(Op0, m_OneUse(m_SExt(m_Value(X))))) { in foldCttzCtlz() 534 if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) && match(Op1, m_One())) { in foldCttzCtlz() 681 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in foldCtpop() 1152 if (!match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C0)))) || in moveAddAfterMinMax() 1320 if (!match(II, m_c_MaxOrMin(m_OneUse(m_CombineAnd( in reassociateMinMaxWithConstantInOperand() 1468 return match(V, m_OneUse(m_VecReverse(m_Value()))); in foldReversedIntrinsicOperands() 1508 if (match(V, m_OneUse(m_BitwiseLogic(m_Value(X), m_Value(Y)))) && in foldBitOrderCrossLogicOp() 1522 if (match(X, m_OneUse(m_Intrinsic<IntrID>(m_Value(OldReorderX))))) { in foldBitOrderCrossLogicOp() 1527 if (match(Y, m_OneUse(m_Intrinsic<IntrID>(m_Value(OldReorderY))))) { in foldBitOrderCrossLogicOp() 1577 m_OneUse(m_Intrinsic<IntrID>(m_Value(CtOp), m_Value(ZeroUndef))))) in foldMinimumOverTrailingOrLeadingZeroCount() [all …]
|
| H A D | InstCombineCompares.cpp | 1186 if (!match(&I, m_ICmp(Pred, m_OneUse(m_IRem(m_Value(X), m_Value(Y))), in foldIRemByPowerOfTwoToBitTest() 1566 m_OneUse(m_ZExt(m_Value(Y)))))) { in foldICmpTruncWithTruncOrExt() 1571 m_OneUse(m_ZExtOrSExt(m_Value(Y)))))) { in foldICmpTruncWithTruncOrExt() 1679 if (!match(Xor, m_OneUse(m_c_Xor(m_Value(X), in foldICmpXorShiftConst() 1845 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) && in foldICmpAndConstConst() 1907 match(X, m_OneUse(m_ElementWiseBitCast(m_Value(V))))) { in foldICmpAndConstConst() 1984 if (match(And, m_OneUse(m_c_And(m_OneUse(m_ZExt(m_Value(X))), m_Value(Y)))) && in foldICmpAndConstant() 1999 match(And, m_OneUse(m_c_And(m_OneUse(m_Shl(m_AllOnes(), m_Value(X))), in foldICmpAndConstant() 2010 if (match(And, m_And(m_OneUse(m_Add(m_Value(A), m_APInt(Addend))), in foldICmpAndConstant() 2043 m_OneUse(m_Xor(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain() [all …]
|
| H A D | InstCombineVectorOps.cpp | 78 if (match(V, m_OneUse(m_Load(m_Value())))) in cheapToScalarize() 81 if (match(V, m_OneUse(m_UnOp()))) in cheapToScalarize() 85 if (match(V, m_OneUse(m_BinOp(m_Value(V0), m_Value(V1))))) in cheapToScalarize() 90 if (match(V, m_OneUse(m_Cmp(UnusedPred, m_Value(V0), m_Value(V1))))) in cheapToScalarize() 1700 if (match(VecOp, m_OneUse(m_InsertElt(m_Value(BaseVec), in visitInsertElementInst() 1715 match(ScalarOp, m_OneUse(m_BitCast(m_Value(ScalarSrc)))) && in visitInsertElementInst() 2301 if (!match(Op0, m_OneUse(m_InsertElt(m_Poison(), m_Value(X), in canonicalizeInsertSplat() 2516 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y))))) in narrowVectorSelect() 2524 if (!match(Cond, m_OneUse(m_Shuffle(m_Value(NarrowCond), m_Poison()))) || in narrowVectorSelect()
|
| H A D | InstructionCombining.cpp | 580 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative() 581 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative() 830 m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(Op))))) in tryFoldInstWithCtpopWithNot() 965 m_OneUse(m_Shift(m_Value(Y), m_Value(Shift))))) in foldBinOpShiftWithShift() 969 m_OneUse(m_Shift(m_Value(X), m_Specific(Shift))), in foldBinOpShiftWithShift() 2337 else if (isSplatValue(LHS) && match(RHS, m_OneUse(m_VecReverse(m_Value(V2))))) in foldVectorBinop() 2428 if (match(&Inst, m_c_BinOp(m_OneUse(m_Shuffle(m_Value(V1), m_Poison(), in foldVectorBinop() 2461 m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(MaskC)))) || in foldVectorBinop() 2464 !match(RHS, m_OneUse(m_BinOp(Opcode, m_Value(Y), m_Value(OtherOp))))) in foldVectorBinop() 2955 m_OneUse(m_CombineOr(m_Mul(m_Value(), m_ConstantInt()), in shouldCanonicalizeGEPToPtrAdd() [all …]
|
| H A D | InstCombineSimplifyDemanded.cpp | 430 if (match(I->getOperand(0), m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) { in SimplifyDemandedUseBits() 499 if (match(I, m_c_Add(m_OneUse(m_ZExt(m_Value(X))), in SimplifyDemandedUseBits() 500 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits() 783 m_OneUse(m_Mul(m_Value(X), m_APInt(Factor)))) && in SimplifyDemandedUseBits()
|
| H A D | InstCombineNegator.cpp | 262 if (match(I, m_And(m_OneUse(m_TruncOrSelf( in visitImpl()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | AggressiveInstCombine.cpp | 84 if (match(V, m_OneUse(m_c_Or( in foldGuardedFunnelShift() 94 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift() 253 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value()))) in foldAnyOrAllBitsSet() 255 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One()))) in foldAnyOrAllBitsSet() 378 if (!match(&I, m_SMax(m_OneUse(m_SMin(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat() 381 !match(&I, m_SMin(m_OneUse(m_SMax(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat() 647 if (match(V, m_OneUse(m_c_Or( in foldLoadsRecursive() 649 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))), in foldLoadsRecursive() 651 match(V, m_OneUse(m_Or(m_Value(X), in foldLoadsRecursive() 652 m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))))))) { in foldLoadsRecursive() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 205 m_InsertElt(m_Poison(), m_OneUse(m_Value(Scalar)), m_ZeroInt()))) in vectorizeLoadInsert() 680 if (!match(&I, m_InsertElt(m_Value(DestVec), m_OneUse(m_Instruction(FNeg)), in foldInsExtFNeg() 760 m_InsertElt(m_OneUse(m_BinOp(VecBinOp)), in foldInsExtBinop() 761 m_OneUse(m_BinOp(SclBinOp)), m_ConstantInt(Index)))) in foldInsExtBinop() 878 if (!match(&I, m_BitCast(m_OneUse( in foldBitcastShuffle() 1871 if (!match(X, m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcX)))))) && in foldConcatOfBoolMasks() 1872 !match(X, m_OneUse( in foldConcatOfBoolMasks() 1873 m_Shl(m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcX))))), in foldConcatOfBoolMasks() 1879 if (!match(Y, m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcY)))))) && in foldConcatOfBoolMasks() 1880 !match(Y, m_OneUse( in foldConcatOfBoolMasks() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 634 if (match(I, m_OneUse(m_Cmp()))) { in isAnyOfPattern() 707 if (!match(I, m_CombineOr(m_Select(m_OneUse(m_Cmp()), m_Value(NonRdxPhi), in isFindIVPattern() 709 m_Select(m_OneUse(m_Cmp()), m_Specific(OrigPhi), in isFindIVPattern() 800 if (match(I, m_OneUse(m_Cmp()))) { in isMinMaxPattern() 807 !match(I, m_Select(m_OneUse(m_Cmp()), m_Value(), m_Value()))) in isMinMaxPattern()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | SelectOptimize.cpp | 790 if (match(I, m_OneUse(m_ZExtOrSExt(m_Value(Cond)))) && in collectSelectGroups() 835 m_c_BinOp(m_Value(), m_OneUse(m_ZExtOrSExt(m_Value(X)))); in collectSelectGroups() 837 m_c_BinOp(m_Value(), m_OneUse(m_Shr(m_Value(X), m_ConstantInt(Shift)))); in collectSelectGroups()
|
| H A D | CodeGenPrepare.cpp | 7456 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeShiftInst() 7491 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeFunnelShift() 8393 m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))), in splitMergedValStore() 8394 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore() 9159 m_Br(m_OneUse(m_Instruction(LogicOp)), TBB, FBB))) in splitBranchCondition() 9173 m_LogicalAnd(m_OneUse(m_Value(Cond1)), m_OneUse(m_Value(Cond2))))) in splitBranchCondition() 9175 else if (match(LogicOp, m_LogicalOr(m_OneUse(m_Value(Cond1)), in splitBranchCondition() 9176 m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | Reassociate.cpp | 2021 if (!match(V, m_OneUse(m_Instruction(I)))) in getNegatibleInsts() 2129 if (match(I, m_FAdd(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants() 2132 if (match(I, m_FAdd(m_OneUse(m_Instruction(Op)), m_Value(X)))) in canonicalizeNegFPConstants() 2135 if (match(I, m_FSub(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
|
| H A D | StructurizeCFG.cpp | 646 if (match(PI.Pred, m_Not(m_OneUse(m_Instruction(Inverted)))) && in simplifyConditions()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | DAGCombiner.cpp | 1354 if (sd_match(N0, m_OneUse(m_c_BinOp( in reassociateReduction() 1356 m_AllOf(m_OneUse(m_UnaryOp(RedOpc, m_Value(A))), in reassociateReduction() 1359 sd_match(N1, m_OneUse(m_c_BinOp( in reassociateReduction() 1361 m_AllOf(m_OneUse(m_UnaryOp(RedOpc, m_Value(C))), in reassociateReduction() 2956 if (sd_match(N0, m_OneUse(m_Sub(m_Value(A), m_Value(B)))) && in visitADDLike() 2957 sd_match(N1, m_OneUse(m_Sub(m_Value(C), m_Value(D)))) && in visitADDLike() 3026 if (sd_match(N0, m_OneUse(m_Mul(m_Add(m_Value(A), m_ConstInt(CA)), in visitADDLike() 3049 if (sd_match(N0, m_OneUse(m_Add( in visitADDLike() 3050 m_OneUse(m_Mul(m_Add(m_Value(A), m_ConstInt(CA)), in visitADDLike() 4146 if (sd_match(N1, m_OneUse(m_AnyOf(m_SMax(m_Value(X), NegPat), in visitSUB() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | SDPatternMatch.h | 179 inline NUses_match<1, Pattern> m_OneUse(const Pattern &P) { in m_OneUse() function 187 inline NUses_match<1, Value_match> m_OneUse() { in m_OneUse() function
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | MIPatternMatch.h | 56 inline OneUse_match<SubPat> m_OneUse(const SubPat &SP) { in m_OneUse() function
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopPeel.cpp | 350 m_Br(m_OneUse(m_ICmp(Pred, m_Value(Inc), m_Value(Bound))), in canPeelLastIteration()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64TargetTransformInfo.cpp | 1932 if (match(Vec, m_OneUse(m_BinOp(m_Value(LHS), m_Value(RHS))))) { in instCombineSVELast() 6297 if (match(I, m_c_Or(m_OneUse(m_Instruction(OtherAnd)), in isProfitableToSinkOperands() 6298 m_OneUse(m_c_And(m_OneUse(m_Not(m_Value(MaskValue))), in isProfitableToSinkOperands()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | PatternMatch.h | 67 template <typename T> inline OneUse_match<T> m_OneUse(const T &SubPattern) { in m_OneUse() function 2568 auto XorExpr = m_OneUse(m_Not(m_Value(Op1))); in match()
|