Home
last modified time | relevance | path

Searched refs:m_OneUse (Results 1 – 25 of 30) sorted by relevance

12

/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineAndOrXor.cpp1645 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns()
1652 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns()
1682 match(Op0, m_OneUse(m_c_BinOp( in foldComplexAndOrPatterns()
1690 if (match(Op1, m_OneUse(m_Not(m_c_BinOp( in foldComplexAndOrPatterns()
1707 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns()
1715 if (match(Op1, m_OneUse(m_Not(m_OneUse( in foldComplexAndOrPatterns()
2168 if (match(&I, m_c_And(m_OneUse(m_Not( in visitAnd()
3034 if (match(&I, m_c_Or(m_OneUse(m_AShr( in visitOr()
3307 m_OneUse(m_c_And( in visitMaskedMerge()
3494 m_OneUse(m_c_Or(m_OneUse(m_Neg(m_Value(X))), m_Value(Y))))) { in foldNot()
[all …]
H A DInstCombineAddSub.cpp869 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) && in foldAddWithConstant()
1473 if (!match(&I, m_c_FAdd(m_OneUse(m_c_FMul(m_Value(Y), in factorizeLerp()
1894 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_AllOnes())))) in visitSub()
1901 if (match(Op0, m_OneUse(m_c_Add(m_OneUse(m_Sub(m_Value(X), m_Value(Y))), in visitSub()
2050 if (match(Op0, m_OneUse(m_c_And(m_Specific(Op1), in visitSub()
2246 if (!match(&I, m_FNeg(m_OneUse(m_Instruction(FNegOp))))) in foldFNegIntoConstant()
2311 match(Op, m_OneUse(m_FSub(m_Value(X), m_Value(Y))))) in visitFNeg()
2398 match(Op0, m_OneUse(m_FNeg(m_Value(X))))) { in visitFSub()
2421 if (match(Op1, m_OneUse(m_FPTrunc(m_FNeg(m_Value(Y)))))) in visitFSub()
2425 if (match(Op1, m_OneUse(m_FPExt(m_FNeg(m_Value(Y)))))) in visitFSub()
[all …]
H A DInstCombineShifts.cpp380 if (match(Op1, m_OneUse(m_SExt(m_Value(Y))))) { in commonShiftTransforms()
812 m_OneUse(m_BinOp(FBO))))) { in FoldShiftByConstant()
856 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in visitShl()
919 if (match(Op0, m_OneUse(m_Trunc(m_OneUse(m_BinOp(Shr))))) && in visitShl()
962 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) && in visitShl()
992 m_OneUse(m_And(m_OneUse(m_Shr(m_Value(X), m_Specific(Op1))), in visitShl()
1135 m_OneUse(m_c_Add(m_OneUse(m_Shl(m_Value(X), m_Specific(Op1))), in visitLShr()
1145 if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) && in visitLShr()
1424 if (match(Op0, m_OneUse(m_SExt(m_Value(X)))) && in visitAShr()
1457 match(Op0, m_OneUse(m_Shl(m_Value(X), in visitAShr()
[all …]
H A DInstCombineMulDivRem.cpp227 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_Constant(C1))))) { in visitMul()
266 if (match(&I, m_c_Mul(m_OneUse(m_Neg(m_Value(X))), m_Value(Y)))) in visitMul()
375 if (match(Op0, m_OneUse(m_AShr(m_Value(X), m_APInt(C)))) && in visitMul()
561 match(Op1, m_OneUse(m_Sqrt(m_Value(Y))))) { in visitFMul()
657 if (match(Op0, m_OneUse(m_Intrinsic<Intrinsic::log2>( in visitFMul()
658 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) { in visitFMul()
662 if (match(Op1, m_OneUse(m_Intrinsic<Intrinsic::log2>( in visitFMul()
663 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) { in visitFMul()
1146 if (match(Op0, m_OneUse(m_SExt(m_Value(Op0Src)))) && in visitSDiv()
1367 if (match(Op0, m_OneUse(m_FDiv(m_Value(X), m_Value(Y)))) && in visitFDiv()
[all …]
H A DInstCombineCasts.cpp651 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp()
848 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_Constant(C))))) { in visitTrunc()
855 if (match(Src, m_OneUse(m_c_Or(m_LShr(m_Value(X), m_Constant(C)), in visitTrunc()
1337 if (match(Src, m_OneUse(m_Xor(m_Value(And), m_Constant(C)))) && in visitZExt()
1603 if (match(Src, m_OneUse(m_AShr(m_Trunc(m_Value(X)), in visitSExt()
2107 if (match(SrcOp, m_OneUse(m_InsertElt(m_IntToPtr(m_Value(Vec)), in visitPtrToInt()
2397 if (!match(BitCast.getOperand(0), m_OneUse(m_BinOp(BO))) || in foldBitCastBitwiseLogic()
2410 if (match(BO->getOperand(0), m_OneUse(m_BitCast(m_Value(X)))) && in foldBitCastBitwiseLogic()
2434 if (match(BO->getOperand(0), m_OneUse(m_BitCast(m_Value(X)))) && in foldBitCastBitwiseLogic()
2441 if (match(BO->getOperand(1), m_OneUse(m_BitCast(m_Value(X)))) && in foldBitCastBitwiseLogic()
[all …]
H A DInstCombineSelect.cpp514 if (!match(TVal, m_OneUse(m_And(m_Value(B), m_One())))) in foldSelectICmpAndAnd()
519 const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z)))); in foldSelectICmpAndAnd()
636 if (!match(CmpLHS, m_OneUse(m_Trunc(m_Value(V))))) in foldSelectICmpAndOr()
703 match(F, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits()
1447 if (!match(&Cmp, m_OneUse(m_ICmp( in tryToReuseConstantFromSelectInComparison()
2062 if (!match(Cond, m_OneUse(m_ExtractElt(m_Value(), m_ConstantInt())))) in canonicalizeScalarSelectOfVecs()
2207 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(SV0), in foldSelectFunnelShift()
2209 !match(Or1, m_OneUse(m_LogicalShift(m_Value(SV1), in foldSelectFunnelShift()
2226 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0))))) in foldSelectFunnelShift()
3076 if (match(TrueVal, m_OneUse(m_BinOp(TrueBO))) && in visitSelectInst()
[all …]
H A DInstCombineCompares.cpp1804 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) && in foldICmpAndConstConst()
1974 if (match(OrOp0, m_OneUse(m_Xor(m_Value(X1), m_Value(X2)))) && in foldICmpOrConstant()
1975 match(OrOp1, m_OneUse(m_Xor(m_Value(X3), m_Value(X4))))) { in foldICmpOrConstant()
3860 m_c_And(m_OneUse(m_AnyLogicalShift), m_Value()))) in foldShiftIntoShiftInAnotherHandOfAndInICmp()
4633 if (match(Op0, m_OneUse(m_And(m_Value(A), m_Value(B)))) && in foldICmpEquality()
4634 match(Op1, m_OneUse(m_And(m_Value(C), m_Value(D))))) { in foldICmpEquality()
4667 if (match(Op0, m_OneUse(m_Or(m_Value(X), m_Constant(C)))) && in foldICmpEquality()
4668 match(Op1, m_OneUse(m_Or(m_Value(Y), m_Specific(C))))) { in foldICmpEquality()
4710 match(Op1, m_OneUse(m_Shl(m_Value(B), m_Specific(Cst1))))) { in foldICmpEquality()
5956 m_OneUse(m_CombineOr( in foldICmpWithHighBitMask()
[all …]
H A DInstCombineCalls.cpp540 if (match(Op0, m_OneUse(m_SExt(m_Value(X))))) { in foldCttzCtlz()
648 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in foldCtpop()
845 if (!match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C0)))) || in moveAddAfterMinMax()
1005 if (!match(II, m_c_MaxOrMin(m_OneUse(m_CombineAnd( in reassociateMinMaxWithConstantInOperand()
1282 if (match(IIOperand, m_OneUse(m_SExt(m_Value(X))))) { in visitCallInst()
1368 if (match(X, m_OneUse(m_Not(m_Value(A)))) && in visitCallInst()
1809 if (match(Arg0, m_OneUse(m_FPExt(m_Value(X)))) && in visitCallInst()
1810 match(Arg1, m_OneUse(m_FPExt(m_Value(Y)))) && in visitCallInst()
1822 if ((match(Arg0, m_OneUse(m_FNeg(m_Value(X)))) && Arg1 == X) || in visitCallInst()
1823 (match(Arg1, m_OneUse(m_FNeg(m_Value(X)))) && Arg0 == X)) { in visitCallInst()
[all …]
H A DInstCombineSimplifyDemanded.cpp387 if (match(I->getOperand(0), m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) { in SimplifyDemandedUseBits()
469 if (match(I, m_c_Add(m_OneUse(m_ZExt(m_Value(X))), in SimplifyDemandedUseBits()
470 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits()
486 if (match(I, m_Add(m_OneUse(m_SExt(m_Value(X))), in SimplifyDemandedUseBits()
487 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits()
H A DInstCombineVectorOps.cpp78 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()
1517 match(ScalarOp, m_OneUse(m_BitCast(m_Value(ScalarSrc)))) && in visitInsertElementInst()
2024 if (!match(Op0, m_OneUse(m_InsertElt(m_Undef(), m_Value(X), in canonicalizeInsertSplat()
2236 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y))))) in narrowVectorSelect()
2244 if (!match(Cond, m_OneUse(m_Shuffle(m_Value(NarrowCond), m_Undef()))) || in narrowVectorSelect()
H A DInstCombineNegator.cpp254 if (match(I, m_c_And(m_OneUse(m_TruncOrSelf( in visitImpl()
H A DInstructionCombining.cpp529 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative()
530 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative()
1758 m_c_BinOp(m_OneUse(m_Shuffle(m_Value(V1), m_Undef(), m_Mask(Mask))), in foldVectorBinop()
1843 m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(MaskC)))) || in foldVectorBinop()
1846 !match(RHS, m_OneUse(m_BinOp(Opcode, m_Value(Y), m_Value(OtherOp))))) in foldVectorBinop()
3186 if (match(&BI, m_Br(m_OneUse(m_FCmp(Pred, m_Value(), m_Value())), in visitBranchInst()
/llvm-project-15.0.7/llvm/lib/Transforms/AggressiveInstCombine/
H A DAggressiveInstCombine.cpp102 if (match(V, m_OneUse(m_c_Or( in foldGuardedFunnelShift()
113 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift()
274 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value()))) in foldAnyOrAllBitsSet()
276 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One()))) in foldAnyOrAllBitsSet()
382 if (!match(&I, m_SMax(m_OneUse(m_SMin(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat()
385 !match(&I, m_SMin(m_OneUse(m_SMax(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat()
/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp543 m_OneUse(m_Shuffle(m_Value(V), m_Undef(), m_Mask(Mask)))))) in foldBitcastShuf()
728 if (!match(B0, m_OneUse(m_Cmp(P0, m_Instruction(I0), m_Constant(C0)))) || in foldExtractedCmps()
729 !match(B1, m_OneUse(m_Cmp(P1, m_Instruction(I1), m_Constant(C1)))) || in foldExtractedCmps()
738 if (!match(I0, m_OneUse(m_ExtractElt(m_Value(X), m_ConstantInt(Index0)))) || in foldExtractedCmps()
739 !match(I1, m_OneUse(m_ExtractElt(m_Specific(X), m_ConstantInt(Index1))))) in foldExtractedCmps()
1079 if (!match(&I, m_Shuffle(m_OneUse(m_BinOp(B0)), m_OneUse(m_BinOp(B1)), in foldShuffleOfBinops()
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DIVDescriptors.cpp637 if (match(I, m_OneUse(m_Cmp(Pred, m_Value(), m_Value())))) { in isSelectCmpPattern()
643 if (!match(I, m_Select(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())), m_Value(), in isSelectCmpPattern()
678 if (match(I, m_OneUse(m_Cmp(Pred, m_Value(), m_Value())))) { in isMinMaxPattern()
685 !match(I, m_Select(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())), m_Value(), in isMinMaxPattern()
/llvm-project-15.0.7/llvm/unittests/CodeGen/GlobalISel/
H A DPatternMatchTest.cpp517 EXPECT_TRUE(mi_match(Reg, *MRI, m_OneUse(m_GAdd(m_Reg(), m_Reg())))); in TEST_F()
524 EXPECT_FALSE(mi_match(Reg, *MRI, m_OneUse(m_GAdd(m_Reg(), m_Reg())))); in TEST_F()
529 EXPECT_FALSE(mi_match(Reg, *MRI, m_OneUse(m_GAdd(m_Reg(), m_Reg())))); in TEST_F()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp2078 if (!match(V, m_OneUse(m_Instruction(I)))) in getNegatibleInsts()
2186 if (match(I, m_FAdd(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
2189 if (match(I, m_FAdd(m_OneUse(m_Instruction(Op)), m_Value(X)))) in canonicalizeNegFPConstants()
2192 if (match(I, m_FSub(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
H A DStructurizeCFG.cpp595 if (match(Cond, m_Not(m_OneUse(m_Instruction(Inverted)))) && in simplifyConditions()
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DCodeGenPrepare.cpp6688 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeShiftInst()
6723 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeFunnelShift()
7598 m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))), in splitMergedValStore()
7599 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
8264 m_Br(m_OneUse(m_Instruction(LogicOp)), TBB, FBB))) in splitBranchCondition()
8278 m_LogicalAnd(m_OneUse(m_Value(Cond1)), m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
8280 else if (match(LogicOp, m_LogicalOr(m_OneUse(m_Value(Cond1)), in splitBranchCondition()
8281 m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/GlobalISel/
H A DMIPatternMatch.h45 inline OneUse_match<SubPat> m_OneUse(const SubPat &SP) { in m_OneUse() function
/llvm-project-15.0.7/llvm/unittests/IR/
H A DPatternMatch.cpp61 EXPECT_TRUE(m_OneUse(m_Value(V)).match(One)); in TEST_F()
64 EXPECT_FALSE(m_OneUse(m_Value()).match(Two)); in TEST_F()
65 EXPECT_FALSE(m_OneUse(m_Value()).match(Leaf)); in TEST_F()
/llvm-project-15.0.7/mlir/docs/Rationale/
H A DRationaleGenericDAGRewriter.md121 if (match(Op1, m_OneUse(m_Add(m_Value(X), m_One()))))
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DPatternMatch.h67 template <typename T> inline OneUse_match<T> m_OneUse(const T &SubPattern) { in m_OneUse() function
1981 auto XorExpr = m_OneUse(m_Xor(m_Value(Op1), m_AllOnes())); in match()
/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DAMDGPUInstructionSelector.cpp676 Src0, *MRI, m_OneUse(m_GLShr(m_Reg(ShiftSrc0), m_SpecificICst(16)))); in selectG_BUILD_VECTOR_TRUNC()
679 Src1, *MRI, m_OneUse(m_GLShr(m_Reg(ShiftSrc1), m_SpecificICst(16)))); in selectG_BUILD_VECTOR_TRUNC()
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.cpp808 if (match(Vec, m_OneUse(m_BinOp(m_Value(LHS), m_Value(RHS))))) { in instCombineSVELast()

12