Lines Matching defs:NotOp
4348 Value *NotOp = IC.Builder.CreateNot(Op, Op->getName() + ".not");
4349 Op->replaceUsesWithIf(NotOp,
4350 [NotOp](Use &U) { return U.getUser() != NotOp; });
4351 IC.freelyInvertAllUsersOf(NotOp, IgnoredUser);
4352 return NotOp;
4448 Value *NotOp;
4449 if (!match(&I, m_Not(m_Value(NotOp))))
4463 if (match(NotOp, m_OneUse(m_c_And(m_Not(m_Value(X)), m_Value(Y))))) {
4467 if (match(NotOp, m_OneUse(m_LogicalAnd(m_Not(m_Value(X)), m_Value(Y))))) {
4474 if (match(NotOp, m_OneUse(m_c_Or(m_Not(m_Value(X)), m_Value(Y))))) {
4478 if (match(NotOp, m_OneUse(m_LogicalOr(m_Not(m_Value(X)), m_Value(Y))))) {
4485 if (match(NotOp, m_BinOp(NotVal))) {
4546 if (match(NotOp, m_Cmp(Pred, m_Value(), m_Value())) &&
4547 (NotOp->hasOneUse() ||
4548 InstCombiner::canFreelyInvertAllUsersOf(cast<Instruction>(NotOp),
4550 cast<CmpInst>(NotOp)->setPredicate(CmpInst::getInversePredicate(Pred));
4551 freelyInvertAllUsersOf(NotOp);
4557 if (match(NotOp, m_OneUse(m_BitCast(m_OneUse(m_SExt(m_Value(X)))))) && X->getType()->isIntOrIntVectorTy(1)) {
4558 Type *SextTy = cast<BitCastOperator>(NotOp)->getSrcTy();
4564 if (auto *NotOpI = dyn_cast<Instruction>(NotOp))
4571 auto *II = dyn_cast<IntrinsicInst>(NotOp);
4573 if (match(NotOp, m_c_MaxOrMin(m_Not(m_Value(X)), m_Value(Y)))) {
4589 if (NotOp->hasOneUse()) {
4598 if (auto *Sel = dyn_cast<SelectInst>(NotOp)) {
4622 // TODO: Could handle multi-use better by checking if all uses of NotOp (other
4624 if (Value *R = getFreelyInverted(NotOp, NotOp->hasOneUse(), &Builder))