| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineAddSub.cpp | 1015 m_OneUse(m_BinOp( in matchesSquareSum() 1029 m_OneUse(m_BinOp( in matchesSquareSum() 1033 m_OneUse(m_c_BinOp( in matchesSquareSum() 1218 m_c_Add(m_OneUse(m_Shl(m_OneUse(m_Neg(m_Value(B))), m_Value(Cnt))), in combineAddSubWithShlAddSub() 1622 m_Add(m_OneUse(m_c_And(m_Value(A), m_OneUse(m_Neg(m_Deferred(A))))), in visitAdd() 1636 m_c_Add(m_OneUse(m_Not(m_OneUse(m_Mul(m_Value(A), m_APInt(C1))))), in visitAdd() 1658 match(RHS, m_OneUse(m_ZExt( in visitAdd() 1738 m_OneUse(m_ZExtOrSelf(m_OneUse(m_Xor( in visitAdd() 1739 m_OneUse(m_TruncOrSelf(m_OneUse( in visitAdd() 2233 if (match(Op0, m_OneUse(m_c_Add(m_OneUse(m_Sub(m_Value(X), m_Value(Y))), in visitSub() [all …]
|
| H A D | InstCombineAndOrXor.cpp | 1678 m_OneUse(m_LShr( in foldCastedBitwiseLogic() 1929 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns() 1936 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns() 1966 match(Op0, m_OneUse(m_c_BinOp( in foldComplexAndOrPatterns() 1991 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns() 1999 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns() 3727 if (match(&I, m_c_Or(m_OneUse(m_AShr( in visitOr() 4112 m_OneUse(m_c_And( in visitMaskedMerge() 4356 m_OneUse(m_c_Or(m_OneUse(m_Neg(m_Value(X))), m_Value(Y))))) { in foldNot() 4435 …if (match(NotOp, m_OneUse(m_BitCast(m_OneUse(m_SExt(m_Value(X)))))) && X->getType()->isIntOrIntVec… in foldNot() [all …]
|
| H A D | InstCombineShifts.cpp | 412 if (match(Op1, m_OneUse(m_SExt(m_Value(Y))))) { in commonShiftTransforms() 901 m_Add(m_OneUse(m_ZExt(m_Value(X))), m_OneUse(m_ZExt(m_Value(Y)))))) in foldLShrOverflowBit() 1027 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in visitShl() 1098 if (match(Op0, m_OneUse(m_Trunc(m_OneUse(m_BinOp(Shr))))) && in visitShl() 1141 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) && in visitShl() 1171 m_OneUse(m_And(m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))), in visitShl() 1253 if (match(Op0, m_OneUse(m_Not(m_Value(X)))) && in visitLShr() 1320 m_OneUse(m_c_Add(m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))), in visitLShr() 1330 if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) && in visitLShr() 1651 match(Op0, m_OneUse(m_Shl(m_Value(X), in visitAShr() [all …]
|
| H A D | InstCombineMulDivRem.cpp | 166 if (match(Y, m_OneUse(m_Add(m_BinOp(Shift), m_One()))) && in foldMulShl1() 167 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1() 179 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1() 363 if (match(&I, m_c_Mul(m_OneUse(m_Neg(m_Value(X))), m_Value(Y)))) in visitMul() 461 if (match(Op0, m_OneUse(m_AShr(m_Value(X), m_APInt(C)))) && in visitMul() 639 match(Op1, m_OneUse(m_Sqrt(m_Value(Y))))) { in foldFMulReassoc() 802 if (match(Op0, m_OneUse(m_Intrinsic<Intrinsic::log2>( in visitFMul() 807 if (match(Op1, m_OneUse(m_Intrinsic<Intrinsic::log2>( in visitFMul() 1499 if (match(Op0, m_OneUse(m_SExt(m_Value(Op0Src)))) && in visitSDiv() 1746 if (match(Op0, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) && in visitFDiv() [all …]
|
| H A D | InstCombineCasts.cpp | 546 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp() 745 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_Constant(C))))) { in visitTrunc() 1204 if (match(Src, m_OneUse(m_Xor(m_Value(And), m_Constant(C)))) && in visitZExt() 1499 if (match(Src, m_OneUse(m_AShr(m_Trunc(m_Value(X)), in visitSExt() 1992 if (match(SrcOp, m_OneUse(m_InsertElt(m_IntToPtr(m_Value(Vec)), in visitPtrToInt() 2285 if (!match(BitCast.getOperand(0), m_OneUse(m_BinOp(BO))) || in foldBitCastBitwiseLogic() 2298 if (match(BO->getOperand(0), m_OneUse(m_BitCast(m_Value(X)))) && in foldBitCastBitwiseLogic() 2299 match(BO->getOperand(1), m_OneUse(m_BitCast(m_Value(Y))))) { in foldBitCastBitwiseLogic() 2322 if (match(BO->getOperand(0), m_OneUse(m_BitCast(m_Value(X)))) && in foldBitCastBitwiseLogic() 2329 if (match(BO->getOperand(1), m_OneUse(m_BitCast(m_Value(X)))) && in foldBitCastBitwiseLogic() [all …]
|
| H A D | InstCombineCompares.cpp | 1507 m_OneUse(m_ZExt(m_Value(Y)))))) in foldICmpTruncWithTruncOrExt() 1626 if (!match(Xor, m_OneUse(m_c_Xor(m_Value(X), in foldICmpXorShiftConst() 1915 if (match(And, m_OneUse(m_c_And(m_OneUse(m_ZExt(m_Value(X))), m_Value(Y)))) && in foldICmpAndConstant() 1948 m_OneUse(m_Xor(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain() 1954 m_OneUse(m_Sub(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain() 5297 if (match(Op0, m_OneUse(m_And(m_Value(A), m_Value(B)))) && in foldICmpEquality() 5298 match(Op1, m_OneUse(m_And(m_Value(C), m_Value(D))))) { in foldICmpEquality() 5448 m_OneUse(m_Intrinsic<Intrinsic::fshr>( in foldICmpEquality() 6667 m_OneUse(m_CombineOr( in foldICmpWithHighBitMask() 6833 m_OneUse(m_BitCast(m_OneUse( in foldReductionIdiom() [all …]
|
| H A D | InstCombineSelect.cpp | 580 if (!match(TVal, m_OneUse(m_And(m_Value(B), m_One())))) in foldSelectICmpAndAnd() 585 const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z)))); in foldSelectICmpAndAnd() 1539 if (!match(&Cmp, m_OneUse(m_ICmp( in tryToReuseConstantFromSelectInComparison() 2161 if (!match(Cond, m_OneUse(m_ExtractElt(m_Value(), m_ConstantInt())))) in canonicalizeScalarSelectOfVecs() 2306 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(SV0), in foldSelectFunnelShift() 2308 !match(Or1, m_OneUse(m_LogicalShift(m_Value(SV1), in foldSelectFunnelShift() 2325 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0))))) in foldSelectFunnelShift() 3082 m_OneUse(m_c_Or(m_Not(m_Specific(TrueVal)), m_Value(C))))) { in foldSelectOfBools() 3094 if (match(CondVal, m_OneUse(m_c_Or(m_Specific(TrueVal), m_Value(C))))) { in foldSelectOfBools() 3102 m_OneUse(m_c_And(m_Value(C), m_Not(m_Specific(FalseVal)))))) { in foldSelectOfBools() [all …]
|
| H A D | InstCombineCalls.cpp | 532 if (match(Op0, m_OneUse(m_SExt(m_Value(X))))) { in foldCttzCtlz() 671 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in foldCtpop() 1107 if (!match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C0)))) || in moveAddAfterMinMax() 1266 if (!match(II, m_c_MaxOrMin(m_OneUse(m_CombineAnd( in reassociateMinMaxWithConstantInOperand() 1406 if (match(V, m_OneUse(m_BitwiseLogic(m_Value(X), m_Value(Y)))) && in foldBitOrderCrossLogicOp() 1603 if (match(IIOperand, m_OneUse(m_SExt(m_Value(X))))) { in visitCallInst() 1743 if (match(X, m_OneUse(m_Not(m_Value(A)))) && in visitCallInst() 2274 if (match(Arg0, m_OneUse(m_FPExt(m_Value(X)))) && in visitCallInst() 2275 match(Arg1, m_OneUse(m_FPExt(m_Value(Y)))) && in visitCallInst() 2531 if (match(Src, m_OneUse(m_Intrinsic<Intrinsic::ldexp>( in visitCallInst() [all …]
|
| H A D | InstructionCombining.cpp | 533 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative() 534 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative() 781 m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(Op))))) in tryFoldInstWithCtpopWithNot() 913 m_OneUse(m_Shift(m_Value(Y), m_Value(Shift))))) in foldBinOpShiftWithShift() 919 if (!match(ShiftedX, m_OneUse(m_Shift(m_Value(X), m_Specific(Shift))))) in foldBinOpShiftWithShift() 1925 match(&Inst, m_c_BinOp(m_OneUse(m_Shuffle(m_Value(V1), m_Poison(), in foldVectorBinop() 2012 m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(MaskC)))) || in foldVectorBinop() 2618 m_OneUse(m_Add(m_Value(Idx1), m_Value(Idx2))))) { in visitGetElementPtrInst() 2630 if (match(GEP.getOperand(1), m_OneUse(m_SExtLike(m_OneUse(m_NSWAdd( in visitGetElementPtrInst() 3246 m_OneUse(m_LogicalAnd(m_Value(X), m_OneUse(m_Not(m_Value(Y))))))) { in visitBranchInst() [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() 1614 if (match(VecOp, m_OneUse(m_InsertElt(m_Value(BaseVec), in visitInsertElementInst() 1629 match(ScalarOp, m_OneUse(m_BitCast(m_Value(ScalarSrc)))) && in visitInsertElementInst() 2201 if (!match(Op0, m_OneUse(m_InsertElt(m_Undef(), m_Value(X), in canonicalizeInsertSplat() 2415 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y))))) in narrowVectorSelect() 2423 if (!match(Cond, m_OneUse(m_Shuffle(m_Value(NarrowCond), m_Undef()))) || in narrowVectorSelect()
|
| H A D | InstCombineSimplifyDemanded.cpp | 427 if (match(I->getOperand(0), m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) { in SimplifyDemandedUseBits() 497 if (match(I, m_c_Add(m_OneUse(m_ZExt(m_Value(X))), in SimplifyDemandedUseBits() 498 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits() 514 if (match(I, m_Add(m_OneUse(m_SExt(m_Value(X))), in SimplifyDemandedUseBits() 515 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits()
|
| H A D | InstCombineNegator.cpp | 261 if (match(I, m_c_And(m_OneUse(m_TruncOrSelf( in visitImpl()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | AggressiveInstCombine.cpp | 72 if (match(V, m_OneUse(m_c_Or( in foldGuardedFunnelShift() 242 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value()))) in foldAnyOrAllBitsSet() 244 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One()))) in foldAnyOrAllBitsSet() 350 if (!match(&I, m_SMax(m_OneUse(m_SMin(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat() 353 !match(&I, m_SMin(m_OneUse(m_SMax(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat() 636 if (match(V, m_OneUse(m_c_Or( in foldLoadsRecursive() 638 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))), in foldLoadsRecursive() 640 match(V, m_OneUse(m_Or(m_Value(X), in foldLoadsRecursive() 641 m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))))))) { in foldLoadsRecursive() 652 (match(X, m_OneUse(m_ZExt(m_Instruction(L1)))) || in foldLoadsRecursive() [all …]
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | SelectOptimize.cpp | 146 I, m_c_Or(m_OneUse(m_ZExt(m_Value(X))), m_Value())) && in match() 170 m_OneUse(m_ZExt(m_Value(X))))) in getCondition() 173 m_OneUse(m_ZExt(m_Value(X))))) in getCondition() 205 m_OneUse(m_ZExt(m_Value(X))))) in getFalseValue() 208 m_OneUse(m_ZExt(m_Value(X))))) in getFalseValue()
|
| H A D | CodeGenPrepare.cpp | 6946 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeShiftInst() 6981 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeFunnelShift() 7887 m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))), in splitMergedValStore() 7888 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore() 8642 m_Br(m_OneUse(m_Instruction(LogicOp)), TBB, FBB))) in splitBranchCondition() 8656 m_LogicalAnd(m_OneUse(m_Value(Cond1)), m_OneUse(m_Value(Cond2))))) in splitBranchCondition() 8658 else if (match(LogicOp, m_LogicalOr(m_OneUse(m_Value(Cond1)), in splitBranchCondition() 8659 m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VectorCombine.cpp | 625 if (!match(&I, m_InsertElt(m_Value(DestVec), m_OneUse(m_Instruction(FNeg)), in foldInsExtFNeg() 688 m_OneUse(m_Shuffle(m_Value(V), m_Undef(), m_Mask(Mask)))))) in foldBitcastShuffle() 1001 if (!match(B0, m_OneUse(m_Cmp(P0, m_Instruction(I0), m_Constant(C0)))) || in foldExtractedCmps() 1002 !match(B1, m_OneUse(m_Cmp(P1, m_Instruction(I1), m_Constant(C1)))) || in foldExtractedCmps() 1011 if (!match(I0, m_OneUse(m_ExtractElt(m_Value(X), m_ConstantInt(Index0)))) || in foldExtractedCmps() 1012 !match(I1, m_OneUse(m_ExtractElt(m_Specific(X), m_ConstantInt(Index1))))) in foldExtractedCmps() 1365 if (!match(&I, m_Shuffle(m_OneUse(m_BinOp(B0)), m_OneUse(m_BinOp(B1)), in foldShuffleOfBinops()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | IVDescriptors.cpp | 633 if (match(I, m_OneUse(m_Cmp(Pred, m_Value(), m_Value())))) { in isAnyOfPattern() 639 if (!match(I, m_Select(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())), m_Value(), in isAnyOfPattern() 674 if (match(I, m_OneUse(m_Cmp(Pred, m_Value(), m_Value())))) { in isMinMaxPattern() 681 !match(I, m_Select(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())), m_Value(), in isMinMaxPattern()
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | Reassociate.cpp | 2103 if (!match(V, m_OneUse(m_Instruction(I)))) in getNegatibleInsts() 2211 if (match(I, m_FAdd(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants() 2214 if (match(I, m_FAdd(m_OneUse(m_Instruction(Op)), m_Value(X)))) in canonicalizeNegFPConstants() 2217 if (match(I, m_FSub(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
|
| H A D | StructurizeCFG.cpp | 612 if (match(Cond, m_Not(m_OneUse(m_Instruction(Inverted)))) && in simplifyConditions()
|
| H A D | LICM.cpp | 2411 if (!match(C, m_OneUse(m_ICmp(P, m_Value(LHS), m_Value(RHS))))) in hoistMinMax()
|
| H A D | LowerMatrixIntrinsics.cpp | 1339 Op, m_OneUse(m_CombineOr( in lowerDotProduct()
|
| /freebsd-14.2/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | MIPatternMatch.h | 47 inline OneUse_match<SubPat> m_OneUse(const SubPat &SP) { in m_OneUse() function
|
| /freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUInstCombineIntrinsic.cpp | 361 if (match(Arg, m_OneUse(m_FPExt(m_Value(FPExtSrc))))) in matchFPExtFromF16()
|
| H A D | AMDGPUInstructionSelector.cpp | 741 Src0, *MRI, m_OneUse(m_GLShr(m_Reg(ShiftSrc0), m_SpecificICst(16)))); in selectG_BUILD_VECTOR() 744 Src1, *MRI, m_OneUse(m_GLShr(m_Reg(ShiftSrc1), m_SpecificICst(16)))); in selectG_BUILD_VECTOR()
|
| /freebsd-14.2/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 2121 auto XorExpr = m_OneUse(m_Xor(m_Value(Op1), m_AllOnes())); in match()
|