reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Analysis/ValueTracking.cpp
 4989     if (match(CmpI->getOperand(1), m_Constant(CmpConst)) &&
lib/Analysis/VectorUtils.cpp
  300   if (match(V, m_Add(m_Value(Val), m_Constant(C))))
  345   if (match(V, m_ShuffleVector(m_Value(), m_Value(), m_Constant(Mask))))
lib/Target/AArch64/AArch64ISelLowering.cpp
 8639   if (!match(Op1, m_ShuffleVector(m_Value(S1Op1), m_Undef(), m_Constant(M1))) ||
 8640       !match(Op2, m_ShuffleVector(m_Value(S2Op1), m_Undef(), m_Constant(M2))))
lib/Target/ARM/MVETailPredication.cpp
  241                               m_Constant(Const))))
lib/Transforms/InstCombine/InstCombineAddSub.cpp
  831   if (!match(Op1, m_Constant(Op1C)))
  849   if (match(Op0, m_OneUse(m_SExt(m_NSWAdd(m_Value(X), m_Constant(NarrowC)))))) {
  856   if (match(Op0, m_OneUse(m_ZExt(m_NUWAdd(m_Value(X), m_Constant(NarrowC)))))) {
  869   if (!match(Op1, m_Constant(Op1C)))
  879   if (match(Op0, m_Sub(m_Constant(Op00C), m_Value(X))))
 1138           m_ZExtOrSelf(m_Sub(m_Constant(C), m_ZExtOrSelf(m_Value(NBits))))) ||
 1182              m_Shl(m_Constant(SignExtendingValueBaseConstant),
 1764     if (match(Op1, m_Sub(m_Constant(C2), m_Value(X))))
 1768     if (match(Op1, m_Add(m_Value(X), m_Constant(C2))))
 1934     if (match(Op1, m_Mul(m_Value(A), m_Constant(C))) && !isa<ConstantExpr>(C)) {
 2039   if (match(&I, m_FNeg(m_OneUse(m_FMul(m_Value(X), m_Constant(C))))))
 2042   if (match(&I, m_FNeg(m_OneUse(m_FDiv(m_Value(X), m_Constant(C))))))
 2045   if (match(&I, m_FNeg(m_OneUse(m_FDiv(m_Constant(C), m_Value(X))))))
 2135   if (match(Op1, m_Constant(C)) && !isa<ConstantExpr>(Op1))
 2182     if (match(Op0, m_FMul(m_Specific(Op1), m_Constant(C)))) {
 2187     if (match(Op1, m_FMul(m_Specific(Op0), m_Constant(C)))) {
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
 1689   if (!match(Op0, m_OneUse(m_Add(m_Specific(Op1), m_Constant(C)))) &&
 1690       !match(Op0, m_OneUse(m_Mul(m_Specific(Op1), m_Constant(C)))) &&
 1691       !match(Op0, m_OneUse(m_LShr(m_Specific(Op1), m_Constant(C)))) &&
 1692       !match(Op0, m_OneUse(m_Shl(m_Specific(Op1), m_Constant(C)))) &&
 1693       !match(Op0, m_OneUse(m_Sub(m_Constant(C), m_Specific(Op1)))))
 2130   if (match(A, m_Constant(AConst)) && match(B, m_Constant(BConst)))
 2130   if (match(A, m_Constant(AConst)) && match(B, m_Constant(BConst)))
 2154   if (match(A, (m_Xor(m_SExt(m_Value(Cond)), m_Constant(AConst)))) &&
 2155       match(B, (m_Xor(m_SExt(m_Specific(Cond)), m_Constant(BConst)))) &&
 2926   if (D->hasOneUse() && match(M, m_Constant(C))) {
 3060     if (match(NotVal, m_AShr(m_Constant(C), m_Value(Y))) &&
 3065     if (match(NotVal, m_LShr(m_Constant(C), m_Value(Y))) &&
 3070     if (match(Op0, m_Add(m_Value(X), m_Constant(C))))
 3076   if (match(Op1, m_Constant(C1))) {
 3078     if (match(Op0, m_OneUse(m_Or(m_Not(m_Value(X)), m_Constant(C2))))) {
 3083     if (match(Op0, m_OneUse(m_And(m_Not(m_Value(X)), m_Constant(C2))))) {
lib/Transforms/InstCombine/InstCombineCalls.cpp
 1950     if (match(II->getArgOperand(2), m_Constant(ShAmtC)) &&
 2061     if (match(Arg1, m_Constant(C)) && C->isNotMinSignedValue()) {
 2110     if (IID == Intrinsic::ssub_sat && match(Arg1, m_Constant(C)) &&
 2286               m_Select(m_Value(Cond), m_Constant(LHS), m_Constant(RHS)))) {
 2286               m_Select(m_Value(Cond), m_Constant(LHS), m_Constant(RHS)))) {
lib/Transforms/InstCombine/InstCombineCasts.cpp
  599     if (match(BinOp0, m_Constant(C))) {
  605     if (match(BinOp1, m_Constant(C))) {
 1207       match(SrcI, m_OneUse(m_And(m_Trunc(m_Value(X)), m_Constant(C)))) &&
 1213   if (SrcI && match(SrcI, m_OneUse(m_Xor(m_Value(And), m_Constant(C)))) &&
 2091   if (match(BO->getOperand(1), m_Constant(C))) {
lib/Transforms/InstCombine/InstCombineCompares.cpp
 1371   if (match(Val, m_TruncOrSelf(m_Shr(m_Value(X), m_Constant(C))))) {
 2797             m_ShuffleVector(m_Value(Vec), m_Undef(), m_Constant(Mask)))) {
 5364   if (match(LHS, m_ShuffleVector(m_Value(V1), m_Undef(), m_Constant(M))) &&
 6039   if (match(Op0, m_Instruction(LHSI)) && match(Op1, m_Constant(RHSC))) {
 6075     if (match(Op1, m_Constant(C))) {
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  199     if (match(&I, m_Mul(m_Shl(m_Value(NewOp), m_Constant(C2)),
  200                         m_Constant(C1))) &&
  214     if (match(&I, m_Mul(m_Value(NewOp), m_Constant(C1)))) {
  268     if (match(Op0, m_OneUse(m_Add(m_Value(X), m_Constant(C1))))) {
  280   if (match(Op0, m_Neg(m_Value(X))) && match(Op1, m_Constant(Op1C)))
  423   if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_Constant(C)))
  437     if (match(Op1, m_Constant(C)) && C->isFiniteNonZeroFP()) {
  439       if (match(Op0, m_OneUse(m_FDiv(m_Constant(C1), m_Value(X))))) {
  445       if (match(Op0, m_FDiv(m_Value(X), m_Constant(C1)))) {
  461       if (match(Op0, m_OneUse(m_FAdd(m_Value(X), m_Constant(C1))))) {
  467       if (match(Op0, m_OneUse(m_FSub(m_Constant(C1), m_Value(X))))) {
  867   if (!match(ShiftLeft, m_Shl(m_Constant(CI), m_Value(N))))
  935   if ((match(N, m_OneUse(m_ZExt(m_Value(X)))) && match(D, m_Constant(C))) ||
  936       (match(D, m_OneUse(m_ZExt(m_Value(X)))) && match(N, m_Constant(C)))) {
 1143   if (!match(I.getOperand(1), m_Constant(C)))
 1172   if (!match(I.getOperand(0), m_Constant(C)))
 1185   if (match(I.getOperand(1), m_FMul(m_Value(X), m_Constant(C2)))) {
 1188   } else if (match(I.getOperand(1), m_FDiv(m_Value(X), m_Constant(C2)))) {
lib/Transforms/InstCombine/InstCombineSelect.cpp
   64   if (!match(Sel.getCondition(), m_Cmp(Pred, m_Value(X), m_Constant(C))))
 1190              m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C0))))
 1233                         m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C1)))))
 1244                     m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C2)))))
 1323                        m_CombineAnd(m_AnyIntegralConstant(), m_Constant(C0))))))
 1737   if (!match(Sel.getTrueValue(), m_Constant(C)) &&
 1738       !match(Sel.getFalseValue(), m_Constant(C)))
 1801   if (!CondVal->getType()->isVectorTy() || !match(CondVal, m_Constant(CondC)))
lib/Transforms/InstCombine/InstCombineShifts.cpp
  319   if (match(Op0, m_Constant()) && match(Op1, m_Add(m_Value(A), m_Constant(C))))
  940   if (match(Op1, m_Constant(C1))) {
  944     if (match(Op0, m_OneUse(m_Shl(m_Constant(C2), m_Value(X)))))
  948     if (match(Op0, m_Mul(m_Value(X), m_Constant(C2))))
 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/InstCombineVectorOps.cpp
  918       match(InsElt2.getOperand(1), m_Constant(ScalarC)) &&
  940     if (!match(Shuf->getOperand(1), m_Constant(ShufConstVec)) ||
  941         !match(InsElt.getOperand(1), m_Constant(InsEltScalar)) ||
  990         !match(InsElt.getOperand(1), m_Constant(Val[0])) ||
  992         !match(IEI->getOperand(1), m_Constant(Val[1])))
 1450       if (match(BO1, m_Constant(C))) {
 1477   if (match(Op0, m_BinOp(m_Specific(Op1), m_Constant(C))))
 1479   else if (match(Op1, m_BinOp(m_Specific(Op0), m_Constant(C))))
 1583   if (match(B0, m_BinOp(m_Value(X), m_Constant(C0))) &&
 1584       match(B1, m_BinOp(m_Value(Y), m_Constant(C1))))
 1586   else if (match(B0, m_BinOp(m_Constant(C0), m_Value(X))) &&
 1587            match(B1, m_BinOp(m_Constant(C1), m_Value(Y))))
 1724   if (!match(Op0, m_ShuffleVector(m_Value(X), m_Value(Y), m_Constant(Mask))))
lib/Transforms/InstCombine/InstructionCombining.cpp
  275   if (!match(BinOp1->getOperand(1), m_Constant(C1)) ||
  276       !match(BinOp2->getOperand(1), m_Constant(C2)))
  436           match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) &&
  437           match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2))))) {
  529     if (match(Op, m_Shl(m_Value(), m_Constant(C)))) {
 1416   if (match(LHS, m_ShuffleVector(m_Value(L0), m_Value(L1), m_Constant(Mask))) &&
 1451   if (match(LHS, m_ShuffleVector(m_Value(V1), m_Undef(), m_Constant(Mask))) &&
 1462       match(LHS, m_ShuffleVector(m_Value(V1), m_Value(V2), m_Constant(Mask))) &&
 1490           m_OneUse(m_ShuffleVector(m_Value(V1), m_Undef(), m_Constant(Mask))),
 1491           m_Constant(C))) &&
 1589     if (!Op0->hasOneUse() || !match(Op1, m_Constant(WideC)))