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

References

lib/Transforms/InstCombine/InstCombineCompares.cpp
 5382   unsigned Op1Cplxity = getComplexity(Op1);
 5388       (Op0Cplxity == Op1Cplxity && swapMayExposeCSEOpportunities(Op0, Op1))) {
 5390     std::swap(Op0, Op1);
 5394   if (Value *V = SimplifyICmpInst(I.getPredicate(), Op0, Op1, Q))
 5399   if (I.getPredicate() == ICmpInst::ICMP_NE && match(Op1, m_Zero())) {
 5405           return CmpInst::Create(Instruction::ICmp, I.getPredicate(), V, Op1);
 5409           return CmpInst::Create(Instruction::ICmp, I.getPredicate(), V, Op1);
 5461   if (match(Op1, m_APInt(C))) {
 5488     if (Instruction *NI = foldGEPICmp(GEP, Op1, I.getPredicate(), I))
 5490   if (GEPOperator *GEP = dyn_cast<GEPOperator>(Op1))
 5497     assert(Op1->getType()->isPointerTy() && "Comparing pointer with non-pointer?");
 5499       if (Instruction *New = foldAllocaCmp(I, Alloca, Op1))
 5501     if (auto *Alloca = dyn_cast<AllocaInst>(GetUnderlyingObject(Op1, DL)))
 5521         match(Op1, m_Zero()) &&
 5524                           Op1);
 5529       if (match(Op1, m_Not(m_Value(B))))
 5533       if (match(Op1, m_APInt(C)))
 5535                             ConstantInt::get(Op1->getType(), ~(*C)));
 5553       if (Instruction *R = processUMulZExtIdiom(I, Op0, Op1, *this))
 5556     if (match(Op1, m_Mul(m_ZExt(m_Value(A)), m_ZExt(m_Value(B))))) {
 5557       if (Instruction *R = processUMulZExtIdiom(I, Op1, Op0, *this))
 5577         if (EVI->getIndices()[0] == 0 && ACXI->getCompareOperand() == Op1 &&
 5585     if (match(Op0, m_Add(m_Value(X), m_APInt(C))) && Op1 == X)
 5589     if (match(Op1, m_Add(m_Value(X), m_APInt(C))) && Op0 == X)