reference, declarationdefinition
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))))) {