Home
last modified time | relevance | path

Searched refs:BO0 (Results 1 – 6 of 6) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineCompares.cpp1279 auto *BO0 = cast<OverflowingBinaryOperator>(Cmp.getOperand(0)); in foldICmpWithZero() local
1280 if (BO0->hasNoUnsignedWrap() || BO0->hasNoSignedWrap()) { in foldICmpWithZero()
5145 BinaryOperator *BO0 = dyn_cast<BinaryOperator>(Op0); in foldICmpBinOp() local
5147 if (!BO0 && !BO1) in foldICmpBinOp()
5186 if (ICmpInst::isEquality(Pred) && BO0 && in foldICmpBinOp()
5188 match(BO0, m_And(m_Value(), m_NegatedPower2OrZero()))) { in foldICmpBinOp()
5190 Value *NewC = Builder.CreateSub(I.getOperand(1), BO0->getOperand(1)); in foldICmpBinOp()
5193 BO0->getOperand(0), NewC); in foldICmpBinOp()
5246 if (BO0) { in foldICmpBinOp()
5247 match(BO0, m_AddLike(m_Value(A), m_Value(B))); in foldICmpBinOp()
[all …]
H A DInstructionCombining.cpp1681 Value *BO0 = BO.getOperand(0); in foldBinopOfSextBoolToSelect() local
1685 if (!match(BO0, m_SExt(m_Value(X))) || !match(BO1, m_ImmConstant(C)) || in foldBinopOfSextBoolToSelect()
1997 auto *BO0 = dyn_cast<BinaryOperator>(BO.getOperand(0)); in foldBinopWithRecurrence() local
1999 if (!BO0 || !BO1 || !BO0->hasNUses(2) || !BO1->hasNUses(2) || in foldBinopWithRecurrence()
2000 BO0->getOpcode() != Opc || BO1->getOpcode() != Opc || in foldBinopWithRecurrence()
2001 !BO0->isAssociative() || !BO1->isAssociative() || in foldBinopWithRecurrence()
2002 BO0->getParent() != BO1->getParent()) in foldBinopWithRecurrence()
2005 assert(BO.isCommutative() && BO0->isCommutative() && BO1->isCommutative() && in foldBinopWithRecurrence()
2011 if (!matchSimpleRecurrence(BO0, PN0, Start0, Step0) || !PN0->hasOneUse() || in foldBinopWithRecurrence()
2041 FastMathFlags Intersect = BO0->getFastMathFlags() & in foldBinopWithRecurrence()
[all …]
H A DInstCombineShifts.cpp793 BinaryOperator *BO0 = cast<BinaryOperator>(Op0); in FoldShiftByConstant() local
796 BO0->hasNoUnsignedWrap()); in FoldShiftByConstant()
797 R->setHasNoSignedWrap(I.hasNoSignedWrap() && BO0->hasNoSignedWrap()); in FoldShiftByConstant()
799 R->setIsExact(I.isExact() && BO0->isExact()); in FoldShiftByConstant()
H A DInstCombineVectorOps.cpp2143 Value *BO0 = BO->getOperand(0), *BO1 = BO->getOperand(1); in getAlternateBinop() local
2153 return {Instruction::Mul, BO0, ShlOne}; in getAlternateBinop()
2160 return {Instruction::Add, BO0, BO1}; in getAlternateBinop()
2165 if (match(BO0, m_ZeroInt())) in getAlternateBinop()
H A DInstCombineMulDivRem.cpp2313 OverflowingBinaryOperator *BO0 = cast<OverflowingBinaryOperator>(Op0); in simplifyIRemMulShl() local
2316 bool BO0HasNSW = Op0PreserveNSW && BO0->hasNoSignedWrap(); in simplifyIRemMulShl()
2317 bool BO0HasNUW = BO0->hasNoUnsignedWrap(); in simplifyIRemMulShl()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLICM.cpp2851 auto *BO0 = dyn_cast<BinaryOperator>(BO->getOperand(LVInRHS)); in hoistBOAssociation() local
2852 if (!BO0 || BO0->getOpcode() != Opcode || !BO0->isAssociative() || in hoistBOAssociation()
2853 BO0->hasNUsesOrMore(3)) in hoistBOAssociation()
2856 Value *LV = BO0->getOperand(0); in hoistBOAssociation()
2857 Value *C1 = BO0->getOperand(1); in hoistBOAssociation()
2860 assert(BO->isCommutative() && BO0->isCommutative() && in hoistBOAssociation()
2879 FastMathFlags Intersect = BO->getFastMathFlags() & BO0->getFastMathFlags(); in hoistBOAssociation()
2888 Flags.mergeFlags(*BO0); in hoistBOAssociation()
2900 if (BO0->use_empty()) { in hoistBOAssociation()
2901 salvageDebugInfo(*BO0); in hoistBOAssociation()
[all …]