| /llvm-project-15.0.7/llvm/lib/Transforms/AggressiveInstCombine/ |
| H A D | AggressiveInstCombine.cpp | 105 m_Sub(m_SpecificInt(Width), m_Value(SubAmt))))))) { in foldGuardedFunnelShift() 113 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift() 352 if (match(AndOp0, m_Sub(m_Value(Root), m_Value(SubOp1))) && in tryToRecognizePopCount()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineAddSub.cpp | 863 if (match(Op0, m_Sub(m_Constant(Op00C), m_Value(X)))) in foldAddWithConstant() 869 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) && in foldAddWithConstant() 1173 m_ZExtOrSelf(m_Sub(m_Constant(C), m_ZExtOrSelf(m_Value(NBits))))) || in canonicalizeCondSignextOfHighBitExtractToSignextHighBitExtract() 1351 m_Sub(m_ImmConstant(C2), m_Value(B)))) && in visitAdd() 1398 if (match(FV, m_Zero()) && match(TV, m_Sub(m_Value(N), m_Specific(A)))) in visitAdd() 1402 if (match(TV, m_Zero()) && match(FV, m_Sub(m_Value(N), m_Specific(A)))) in visitAdd() 1901 if (match(Op0, m_OneUse(m_c_Add(m_OneUse(m_Sub(m_Value(X), m_Value(Y))), in visitSub() 1909 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y))))) { in visitSub() 1919 !match(Op0, m_Sub(m_ImmConstant(), m_Value()))) { in visitSub() 1965 if (match(Op1, m_Sub(m_ImmConstant(C2), m_Value(X)))) in visitSub() [all …]
|
| H A D | InstCombineShifts.cpp | 1004 if (match(Op0, m_OneUse(m_Sub(m_APInt(C1), m_Value(X))))) { in visitShl() 1051 match(Op1, m_Sub(m_SpecificInt(BitWidth - 1), m_Value(X)))) in visitShl() 1319 m_ZExtOrSelf(m_Sub(m_Constant(C1), in foldVariableSignZeroExtensionOfVariableHighBitExtract() 1321 m_ZExtOrSelf(m_Sub(m_Constant(C2), in foldVariableSignZeroExtensionOfVariableHighBitExtract() 1340 m_Sub(m_Constant(C0), m_ZExtOrSelf(m_Specific(NBits))))) || in foldVariableSignZeroExtensionOfVariableHighBitExtract()
|
| H A D | InstCombineAndOrXor.cpp | 977 if (!match(ZeroCmpOp, m_Sub(m_Value(Base), m_Value(Offset)))) in foldUnsignedUnderflowCheck() 1557 !match(Op0, m_OneUse(m_Sub(m_Constant(C), m_Specific(Op1))))) in narrowMaskedBinOp() 2253 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) { in matchFunnelShift() 3536 if (match(NotVal, m_Sub(m_Value(X), m_Value(Y)))) in foldNot() 3709 if (RHSC->isSignMask() && match(Op0, m_Sub(m_APInt(C), m_Value(X)))) in visitXor()
|
| H A D | InstCombineSelect.cpp | 810 if (match(TrueVal, m_Sub(m_Specific(B), m_Specific(A))) || in canonicalizeSaturatedSubtract() 814 else if (!match(TrueVal, m_Sub(m_Specific(A), m_Specific(B))) && in canonicalizeSaturatedSubtract() 2226 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0))))) in foldSelectFunnelShift() 2228 else if (match(SA0, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA1))))) in foldSelectFunnelShift()
|
| H A D | InstCombineMulDivRem.cpp | 899 if (match(Op0, m_Sub(m_Value(X), m_Value(Z)))) // (X - Z) / Y; Y = Op1 in commonIDivTransforms()
|
| H A D | InstCombineCasts.cpp | 585 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) in narrowFunnelShift()
|
| H A D | InstCombineCompares.cpp | 5358 if (match(U, m_Sub(m_Specific(Op1), m_Specific(Op0)))) in swapMayExposeCSEOpportunities() 5360 else if (match(U, m_Sub(m_Specific(Op0), m_Specific(Op1)))) in swapMayExposeCSEOpportunities()
|
| H A D | InstructionCombining.cpp | 2477 match(V, m_Sub(m_PtrToInt(m_Value(Y)), m_PtrToInt(m_Specific(X)))) && in visitGetElementPtrInst()
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULowerKernelAttributes.cpp | 179 m_UMin(m_Sub(m_Specific(GridSize), in processUse()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | DivRemPairs.cpp | 54 if (!match(&I, m_Sub(m_Value(Dividend), m_Value(XroundedDownToMultipleOfY)))) in matchExpandedRem()
|
| H A D | SeparateConstOffsetFromGEP.cpp | 1226 } else if (match(I, m_Sub(m_SExt(m_Value(LHS)), m_SExt(m_Value(RHS))))) { in reuniteExts()
|
| H A D | LoopIdiomRecognize.cpp | 2675 m_Sub(m_Instruction(IV), in detectShiftUntilZeroIdiom()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/InstCombine/ |
| H A D | InstCombiner.h | 256 if (match(V, m_Sub(PatternMatch::m_ImmConstant(), PatternMatch::m_Value()))) in isFreeToInvert()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | InstructionSimplify.cpp | 655 if (match(Op1, m_Sub(m_Value(Y), m_Specific(Op0))) || in simplifyAddInst() 656 match(Op0, m_Sub(m_Value(Y), m_Specific(Op1)))) in simplifyAddInst() 834 if (MaxRecurse && match(Op1, m_Sub(m_Value(X), m_Value(Y)))) // Z - (X - Y) in simplifySubInst() 1491 if (match(Y, m_Sub(m_Value(A), m_Value(B)))) { in simplifyUnsignedRangeCheck() 2027 match(Op1, m_Sub(m_Constant(C2), m_Specific(X)))) || in simplifyLogicOfAddSub() 2029 match(Op0, m_Sub(m_Constant(C2), m_Specific(X))))) { in simplifyLogicOfAddSub() 2361 if ((match(X, m_Sub(m_APInt(C), m_Specific(Y))) || in simplifyOrInst() 2362 match(Y, m_Sub(m_APInt(C), m_Specific(X)))) && in simplifyOrInst() 4602 if (match(Indices[0], m_AShr(m_Sub(m_PtrToInt(m_Value(P)), in simplifyGEPInst() 4610 if (match(Indices[0], m_SDiv(m_Sub(m_PtrToInt(m_Value(P)), in simplifyGEPInst() [all …]
|
| H A D | ValueTracking.cpp | 6038 if ((!NeedNSW && match(X, m_Sub(m_ZeroInt(), m_Specific(Y)))) || in isKnownNegation() 6043 if ((!NeedNSW && match(Y, m_Sub(m_ZeroInt(), m_Specific(X)))) || in isKnownNegation() 6049 return (!NeedNSW && (match(X, m_Sub(m_Value(A), m_Value(B))) && in isKnownNegation() 6050 match(Y, m_Sub(m_Specific(B), m_Specific(A))))) || in isKnownNegation()
|
| /llvm-project-15.0.7/llvm/include/llvm/IR/ |
| H A D | PatternMatch.h | 991 inline BinaryOp_match<LHS, RHS, Instruction::Sub> m_Sub(const LHS &L, in m_Sub() function 2274 return m_Sub(m_ZeroInt(), V);
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | CodeGenPrepare.cpp | 1331 if (match(IVInc, m_Sub(m_Instruction(LHS), m_Constant(Step))) || in matchIncrement() 1551 if (match(U, m_Sub(m_Specific(A), m_Specific(B)))) { in combineToUSubWithOverflow() 7876 match(UI, m_Sub(m_Specific(X), m_SpecificInt(CmpC))))) { in optimizeBranch()
|