reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
187 if (match(Op1, m_AllOnes())) { 232 if (ConstantInt *CI = dyn_cast<ConstantInt>(Op1)) { 264 if (isa<Constant>(Op1)) { 269 Value *Mul = Builder.CreateMul(C1, Op1); 273 return BinaryOperator::CreateAdd(Builder.CreateMul(X, Op1), Mul); 280 if (match(Op0, m_Neg(m_Value(X))) && match(Op1, m_Constant(Op1C))) 284 if (match(Op0, m_Neg(m_Value(X))) && match(Op1, m_Neg(m_Value(Y)))) { 288 cast<OverflowingBinaryOperator>(Op1)->hasNoSignedWrap()) 301 Value *Y = Op1; 306 Div = dyn_cast<BinaryOperator>(Op1); 333 return BinaryOperator::CreateAnd(Op0, Op1); 342 BO = BinaryOperator::CreateShl(Op1, Y); 344 } else if (match(Op1, m_Shl(m_One(), m_Value(Y)))) { 346 ShlNSW = cast<ShlOperator>(Op1)->hasNoSignedWrap(); 360 return SelectInst::Create(X, Op1, ConstantInt::get(I.getType(), 0)); 361 if (match(Op1, m_ZExt(m_Value(X))) && X->getType()->isIntOrIntVectorTy(1)) 372 return BinaryOperator::CreateAnd(Builder.CreateAShr(X, *C), Op1); 373 if (match(Op1, m_LShr(m_Value(X), m_APInt(C))) && *C == C->getBitWidth() - 1) 380 if (!I.hasNoSignedWrap() && willNotOverflowSignedMul(Op0, Op1, I)) { 385 if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedMul(Op0, Op1, I)) {