Lines Matching defs:Op0BO
831 if (auto *Op0BO = dyn_cast<BinaryOperator>(Op0)) {
835 if (match(Op0BO->getOperand(1), m_APInt(Op0C))) {
836 if (canShiftBinOpWithConstantRHS(I, Op0BO)) {
838 Builder.CreateBinOp(I.getOpcode(), Op0BO->getOperand(1), C1);
841 Builder.CreateBinOp(I.getOpcode(), Op0BO->getOperand(0), C1);
842 NewShift->takeName(Op0BO);
844 return BinaryOperator::Create(Op0BO->getOpcode(), NewShift, NewRHS);
1151 BinaryOperator *Op0BO;
1152 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) &&
1153 isSuitableBinOpcode(Op0BO->getOpcode())) {
1157 Value *Shr = Op0BO->getOperand(0);
1158 Value *Y = Op0BO->getOperand(1);
1161 if (Op0BO->isCommutative() && Y->hasOneUse() &&
1170 Value *YS = Builder.CreateShl(Y, Op1, Op0BO->getName());
1173 Builder.CreateBinOp(Op0BO->getOpcode(), X, YS, Shr->getName());
1185 Value *YS = Builder.CreateShl(Y, Op1, Op0BO->getName());
1189 auto *NewOp = BinaryOperator::Create(Op0BO->getOpcode(), M, YS);
1190 if (auto *Disjoint = dyn_cast<PossiblyDisjointInst>(Op0BO);