|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/IR/PatternMatch.h 1851 return m_Sub(m_ZeroInt(), V);
lib/Analysis/InstructionSimplify.cpp 597 if (match(Op1, m_Sub(m_Value(Y), m_Specific(Op0))) ||
598 match(Op0, m_Sub(m_Value(Y), m_Specific(Op1))))
779 if (MaxRecurse && match(Op1, m_Sub(m_Value(X), m_Value(Y)))) // Z - (X - Y)
1387 if (match(Y, m_Sub(m_Value(A), m_Value(B)))) {
4039 match(Ops[1], m_Sub(m_Value(P), m_PtrToInt(m_Specific(Ops[0])))))
4046 m_AShr(m_Sub(m_Value(P), m_PtrToInt(m_Specific(Ops[0]))),
4055 m_SDiv(m_Sub(m_Value(P), m_PtrToInt(m_Specific(Ops[0]))),
4076 m_Sub(m_Zero(), m_PtrToInt(m_Specific(StrippedBasePtr))))) {
lib/Analysis/ValueTracking.cpp 4744 if ((!NeedNSW && match(X, m_Sub(m_ZeroInt(), m_Specific(Y)))) ||
4749 if ((!NeedNSW && match(Y, m_Sub(m_ZeroInt(), m_Specific(X)))) ||
4755 return (!NeedNSW && (match(X, m_Sub(m_Value(A), m_Value(B))) &&
4756 match(Y, m_Sub(m_Specific(B), m_Specific(A))))) ||
lib/CodeGen/CodeGenPrepare.cpp 1317 if (match(U, m_Sub(m_Specific(A), m_Specific(B)))) {
lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp 191 auto SubExpr = m_Sub(m_Specific(GridSize),
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp 80 auto Sub = m_Sub(m_SpecificInt(Width), m_Value(R1));
302 if (match(AndOp0, m_Sub(m_Value(Root), m_Value(SubOp1))) &&
lib/Transforms/InstCombine/InstCombineAddSub.cpp 879 if (match(Op0, m_Sub(m_Constant(Op00C), m_Value(X))))
885 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) &&
1138 m_ZExtOrSelf(m_Sub(m_Constant(C), m_ZExtOrSelf(m_Value(NBits))))) ||
1362 if (match(FV, m_Zero()) && match(TV, m_Sub(m_Value(N), m_Specific(A))))
1366 if (match(TV, m_Zero()) && match(FV, m_Sub(m_Value(N), m_Specific(A))))
1764 if (match(Op1, m_Sub(m_Constant(C2), m_Value(X))))
1838 if (match(Op0, m_Sub(m_Specific(Op1), m_Value(Y))))
1889 if (match(Op1, m_Sub(m_Value(Y), m_Value(Z))))
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp 1107 if (!match(ZeroCmpOp, m_Sub(m_Value(Base), m_Value(Offset))))
1693 !match(Op0, m_OneUse(m_Sub(m_Constant(C), m_Specific(Op1)))))
3045 if (match(NotVal, m_Sub(m_Value(X), m_Value(Y))))
3102 if (RHSC->isSignMask() && match(Op0, m_Sub(m_APInt(C), m_Value(X)))) {
lib/Transforms/InstCombine/InstCombineCasts.cpp 528 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L)))))
lib/Transforms/InstCombine/InstCombineCompares.cpp 4804 if (match(U, m_Sub(m_Specific(Op1), m_Specific(Op0))))
4806 else if (match(U, m_Sub(m_Specific(Op0), m_Specific(Op1))))
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp 244 if (match(Op0, m_Sub(m_Value(Y), m_Value(X))))
786 if (match(Op0, m_Sub(m_Value(X), m_Value(Z)))) // (X - Z) / Y; Y = Op1
lib/Transforms/InstCombine/InstCombineSelect.cpp 709 if (match(TrueVal, m_Sub(m_Specific(B), m_Specific(A))))
711 else if (!match(TrueVal, m_Sub(m_Specific(A), m_Specific(B))))
2167 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0)))))
2169 else if (match(SA0, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA1)))))
lib/Transforms/InstCombine/InstCombineShifts.cpp 960 match(Op1, m_Sub(m_SpecificInt(BitWidth - 1), m_Value(X))))
1117 m_ZExtOrSelf(m_Sub(m_Constant(C1),
1119 m_ZExtOrSelf(m_Sub(m_Constant(C2),
1138 m_Sub(m_Constant(C0), m_ZExtOrSelf(m_Specific(NBits))))) ||
lib/Transforms/InstCombine/InstructionCombining.cpp 1949 if (match(V, m_Sub(m_PtrToInt(m_Value(Y)),
lib/Transforms/Scalar/DivRemPairs.cpp 52 if (!match(&I, m_Sub(m_Value(Dividend), m_Value(XroundedDownToMultipleOfY))))
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp 1172 match(I, m_Sub(m_SExt(m_Value(LHS)), m_SExt(m_Value(RHS))))) {