Lines Matching defs:WO
3874 auto *WO = dyn_cast<WithOverflowInst>(EV.getAggregateOperand());
3875 if (!WO)
3878 Intrinsic::ID OvID = WO->getIntrinsicID();
3880 if (match(WO->getRHS(), m_APIntAllowPoison(C))) {
3885 return BinaryOperator::CreateNeg(WO->getLHS());
3889 WO->getLHS(),
3890 ConstantInt::get(WO->getLHS()->getType(), C->logBase2()));
3898 if (!WO->hasOneUse())
3904 Instruction::BinaryOps BinOp = WO->getBinaryOp();
3905 Value *LHS = WO->getLHS(), *RHS = WO->getRHS();
3907 replaceInstUsesWith(*WO, PoisonValue::get(WO->getType()));
3908 eraseInstFromFunction(*WO);
3916 return new ICmpInst(ICmpInst::ICMP_ULT, WO->getLHS(), WO->getRHS());
3921 WO->getLHS()->getType()->isIntOrIntVectorTy(1))
3922 return BinaryOperator::CreateAnd(WO->getLHS(), WO->getRHS());
3925 if (OvID == Intrinsic::umul_with_overflow && WO->getLHS() == WO->getRHS()) {
3926 unsigned BitWidth = WO->getLHS()->getType()->getScalarSizeInBits();
3930 ICmpInst::ICMP_UGT, WO->getLHS(),
3931 ConstantInt::get(WO->getLHS()->getType(),
3942 WO->getBinaryOp(), *C, WO->getNoWrapKind());
3947 auto *OpTy = WO->getRHS()->getType();
3948 auto *NewLHS = WO->getLHS();