Searched refs:BO0 (Results 1 – 6 of 6) sorted by relevance
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCompares.cpp | 1279 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 D | InstructionCombining.cpp | 1681 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 D | InstCombineShifts.cpp | 793 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 D | InstCombineVectorOps.cpp | 2143 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 D | InstCombineMulDivRem.cpp | 2313 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 D | LICM.cpp | 2851 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 …]
|