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

References

include/llvm/IR/PatternMatch.h
 1623     if (!m_ICmp(Pred, m_Value(ICmpLHS), m_Value(ICmpRHS)).match(V))
lib/Analysis/AssumptionCache.cpp
   82   if (match(Cond, m_ICmp(Pred, m_Value(A), m_Value(B)))) {
lib/Analysis/InstructionSimplify.cpp
  104                              m_ICmp(Pred2, m_Value(X), m_Value(Y)))) ||
 1379   if (!match(ZeroICmp, m_ICmp(EqPred, m_Value(Y), m_Zero())) ||
 1437   if (match(UnsignedICmp, m_ICmp(UnsignedPred, m_Value(X), m_Specific(Y))) &&
 1441                  m_ICmp(UnsignedPred, m_Specific(Y), m_Value(X))) &&
 1487   if (!match(Op0, m_ICmp(Pred0, m_Value(A), m_Value(B))) ||
 1488       !match(Op1, m_ICmp(Pred1, m_Specific(A), m_Specific(B))))
 1512   if (!match(Op0, m_ICmp(Pred0, m_Value(A), m_Value(B))) ||
 1513       !match(Op1, m_ICmp(Pred1, m_Specific(A), m_Specific(B))))
 1616   if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_APInt(C0)), m_APInt(C1))))
 1619   if (!match(Op1, m_ICmp(Pred1, m_Specific(V), m_Value())))
 1689   if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_APInt(C0)), m_APInt(C1))))
 1692   if (!match(Op1, m_ICmp(Pred1, m_Specific(V), m_Value())))
 1863   if (!match(Op0, m_ICmp(Pred, m_Value(X), m_Zero())) ||
 1887   if (!match(Op0, m_ICmp(Pred, m_Value(X), m_Zero())) ||
 3818   if (!match(CondVal, m_ICmp(Pred, m_Value(CmpLHS), m_Value(CmpRHS))))
lib/Analysis/ScalarEvolutionExpander.cpp
 2107                m_Br(m_ICmp(Pred, m_Instruction(LHS), m_Instruction(RHS)),
lib/Analysis/ValueTracking.cpp
  776       if (match(Cmp, m_ICmp(Pred, m_V, m_Value(A))) &&
  789       if (match(Cmp, m_ICmp(Pred, m_V, m_Value(A))) &&
  802       if (match(Cmp, m_ICmp(Pred, m_V, m_Value(A))) &&
  815       if (match(Cmp, m_ICmp(Pred, m_V, m_Value(A))) &&
  828       if (match(Cmp, m_ICmp(Pred, m_V, m_Value(A))) &&
  839       if (match(Cmp, m_ICmp(Pred, m_V, m_Value(A))) &&
lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
  196                   m_Select(m_ICmp(Pred, SubExpr, m_Specific(ZextGroupSize)),
lib/Target/ARM/MVETailPredication.cpp
  209   if (!match(I, m_ICmp(Pred, m_Instruction(Induction),
lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
  683   if (!match(CondV, m_ICmp(P, m_And(m_Value(A), m_Value(B)), m_Value(C))) &&
  684       !match(CondV, m_ICmp(P, m_Value(C), m_And(m_Value(A), m_Value(B)))))
  799   if (match(CondV, m_ICmp(P, m_Value(C), m_Zero())) ||
  800       match(CondV, m_ICmp(P, m_Zero(), m_Value(C)))) {
  806   } else if (match(CondV, m_ICmp(P, m_Value(C), m_One())) ||
  807              match(CondV, m_ICmp(P, m_One(), m_Value(C)))) {
lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
  126   if (!match(TermI, m_Br(m_ICmp(Pred, m_Specific(RotAmt), m_ZeroInt()),
lib/Transforms/InstCombine/InstCombineAddSub.cpp
 1164   if (!match(Select, m_Select(m_ICmp(Pred, m_Specific(X), m_APInt(Thr)),
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  939                 m_ICmp(Pred, m_Add(m_Value(X), m_Power2(I01)), m_Power2(I1))) &&
  973     if (match(ICmp, m_ICmp(Pred, m_And(m_Value(X), m_APInt(Mask)), m_Zero())) &&
 1034   if (JoinedByAnd && match(Cmp0, m_ICmp(Pred0, m_Value(X), m_ZeroInt())) &&
 1035       match(Cmp1, m_ICmp(Pred1, m_Intrinsic<Intrinsic::ctpop>(m_Specific(X)),
 1042   if (!JoinedByAnd && match(Cmp0, m_ICmp(Pred0, m_Value(X), m_ZeroInt())) &&
 1043       match(Cmp1, m_ICmp(Pred1, m_Intrinsic<Intrinsic::ctpop>(m_Specific(X)),
 1060   if (!match(ZeroICmp, m_ICmp(EqPred, m_Value(ZeroCmpOp), m_Zero())) ||
lib/Transforms/InstCombine/InstCombineCalls.cpp
 3954     if (match(IIOperand, m_ICmp(Pred, m_Instruction(LHS), m_Zero())) &&
lib/Transforms/InstCombine/InstCombineCompares.cpp
 1348   if (!match(&I, m_ICmp(Pred, m_OneUse(m_IRem(m_Value(X), m_Value(Y))),
 1364   if (!I.isEquality() || !match(&I, m_ICmp(Pred, m_Instruction(Val), m_Zero())))
 1487   if (match(DomCond, m_ICmp(DomPred, m_Specific(X), m_APInt(DomC))) &&
 2634   if (!match(SI->getCondition(), m_ICmp(PredA, m_Value(LHS), m_Value(RHS))) ||
 2646   if (!match(UnequalVal, m_Select(m_ICmp(PredB, m_Value(LHS2), m_Value(RHS2)),
lib/Transforms/InstCombine/InstCombineSelect.cpp
 1243              m_ICmp(Pred1, m_Specific(X),
 1321   if (!match(&Cmp, m_OneUse(m_ICmp(
 2177   if (!match(Cond, m_OneUse(m_ICmp(Pred, m_Specific(ShAmt), m_ZeroInt()))) ||
 2227   if (match(CondVal, m_OneUse(m_ICmp(Pred, m_Value(), m_Value()))) &&
lib/Transforms/InstCombine/InstructionCombining.cpp
 2482   if (!match(TI, m_Br(m_ICmp(Pred,
lib/Transforms/Scalar/CallSiteSplitting.cpp
  138   if (!match(Cond, m_ICmp(Pred, m_Value(), m_Constant())))
lib/Transforms/Scalar/GuardWidening.cpp
  543     if (match(Cond0, m_ICmp(Pred0, m_Value(LHS), m_ConstantInt(RHS0))) &&
  544         match(Cond1, m_ICmp(Pred1, m_Specific(LHS), m_ConstantInt(RHS1)))) {
lib/Transforms/Scalar/IndVarSimplify.cpp
 1835     if (!match(Condition, m_ICmp(Pred, m_Specific(NarrowDefLHS),
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
 1915              m_Br(m_CombineAnd(m_ICmp(BCmpPred, m_Value(), m_Value()),
 1942              m_ICmp(CmpOfLoads.BCmpPred,
lib/Transforms/Utils/LoopUnrollPeel.cpp
  189     if (!match(Condition, m_ICmp(Pred, m_Value(LeftVal), m_Value(RightVal))))
unittests/IR/PatternMatch.cpp
 1133   EXPECT_TRUE(m_ICmp(MatchPred, m_Value(MatchL), m_Value(MatchR))