Lines Matching defs:NotOp
4378 Value *NotOp = IC.Builder.CreateNot(Op, Op->getName() + ".not");
4379 Op->replaceUsesWithIf(NotOp,
4380 [NotOp](Use &U) { return U.getUser() != NotOp; });
4381 IC.freelyInvertAllUsersOf(NotOp, IgnoredUser);
4382 return NotOp;
4478 Value *NotOp;
4479 if (!match(&I, m_Not(m_Value(NotOp))))
4493 if (match(NotOp, m_OneUse(m_c_And(m_Not(m_Value(X)), m_Value(Y))))) {
4497 if (match(NotOp, m_OneUse(m_LogicalAnd(m_Not(m_Value(X)), m_Value(Y))))) {
4504 if (match(NotOp, m_OneUse(m_c_Or(m_Not(m_Value(X)), m_Value(Y))))) {
4508 if (match(NotOp, m_OneUse(m_LogicalOr(m_Not(m_Value(X)), m_Value(Y))))) {
4515 if (match(NotOp, m_BinOp(NotVal))) {
4576 if (match(NotOp, m_Cmp(Pred, m_Value(), m_Value())) &&
4577 (NotOp->hasOneUse() ||
4578 InstCombiner::canFreelyInvertAllUsersOf(cast<Instruction>(NotOp),
4580 cast<CmpInst>(NotOp)->setPredicate(CmpInst::getInversePredicate(Pred));
4581 freelyInvertAllUsersOf(NotOp);
4587 if (match(NotOp, m_OneUse(m_BitCast(m_OneUse(m_SExt(m_Value(X)))))) && X->getType()->isIntOrIntVectorTy(1)) {
4588 Type *SextTy = cast<BitCastOperator>(NotOp)->getSrcTy();
4594 if (auto *NotOpI = dyn_cast<Instruction>(NotOp))
4601 auto *II = dyn_cast<IntrinsicInst>(NotOp);
4603 if (match(NotOp, m_c_MaxOrMin(m_Not(m_Value(X)), m_Value(Y)))) {
4619 if (NotOp->hasOneUse()) {
4628 if (auto *Sel = dyn_cast<SelectInst>(NotOp)) {
4652 // TODO: Could handle multi-use better by checking if all uses of NotOp (other
4654 if (Value *R = getFreelyInverted(NotOp, NotOp->hasOneUse(), &Builder))