Lines Matching refs:Cmp0
667 Value *InstCombinerImpl::simplifyRangeCheck(ICmpInst *Cmp0, ICmpInst *Cmp1, in simplifyRangeCheck() argument
671 ConstantInt *RangeStart = dyn_cast<ConstantInt>(Cmp0->getOperand(1)); in simplifyRangeCheck()
675 ICmpInst::Predicate Pred0 = (Inverted ? Cmp0->getInversePredicate() : in simplifyRangeCheck()
676 Cmp0->getPredicate()); in simplifyRangeCheck()
686 Value *Input = Cmp0->getOperand(0); in simplifyRangeCheck()
885 static Value *foldIsPowerOf2OrZero(ICmpInst *Cmp0, ICmpInst *Cmp1, bool IsAnd, in foldIsPowerOf2OrZero() argument
889 if (!match(Cmp0, m_ICmp(Pred0, m_Intrinsic<Intrinsic::ctpop>(m_Value(X)), in foldIsPowerOf2OrZero()
894 Value *CtPop = Cmp0->getOperand(0); in foldIsPowerOf2OrZero()
905 static Value *foldIsPowerOf2(ICmpInst *Cmp0, ICmpInst *Cmp1, bool JoinedByAnd, in foldIsPowerOf2() argument
909 std::swap(Cmp0, Cmp1); in foldIsPowerOf2()
911 std::swap(Cmp0, Cmp1); in foldIsPowerOf2()
916 if (JoinedByAnd && match(Cmp0, m_ICmp(Pred0, m_Value(X), m_ZeroInt())) && in foldIsPowerOf2()
924 if (!JoinedByAnd && match(Cmp0, m_ICmp(Pred0, m_Value(X), m_ZeroInt())) && in foldIsPowerOf2()
1050 Value *InstCombinerImpl::foldEqOfParts(ICmpInst *Cmp0, ICmpInst *Cmp1, in foldEqOfParts() argument
1052 if (!Cmp0->hasOneUse() || !Cmp1->hasOneUse()) in foldEqOfParts()
1056 if (Cmp0->getPredicate() != Pred || Cmp1->getPredicate() != Pred) in foldEqOfParts()
1059 Optional<IntPart> L0 = matchIntPart(Cmp0->getOperand(0)); in foldEqOfParts()
1060 Optional<IntPart> R0 = matchIntPart(Cmp0->getOperand(1)); in foldEqOfParts()
1096 static Value *foldAndOrOfICmpsWithConstEq(ICmpInst *Cmp0, ICmpInst *Cmp1, in foldAndOrOfICmpsWithConstEq() argument
1105 if (!match(Cmp0, m_ICmp(Pred0, m_Value(X), m_Constant(C))) || in foldAndOrOfICmpsWithConstEq()
1133 return Builder.CreateBinOp(IsAnd ? Instruction::And : Instruction::Or, Cmp0, in foldAndOrOfICmpsWithConstEq()