reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3026 if (match(&I, m_Not(m_BinOp(NotVal)))) { 3027 if (NotVal->getOpcode() == Instruction::And || 3028 NotVal->getOpcode() == Instruction::Or) { 3032 if (isFreeToInvert(NotVal->getOperand(0), 3033 NotVal->getOperand(0)->hasOneUse()) && 3034 isFreeToInvert(NotVal->getOperand(1), 3035 NotVal->getOperand(1)->hasOneUse())) { 3036 Value *NotX = Builder.CreateNot(NotVal->getOperand(0), "notlhs"); 3037 Value *NotY = Builder.CreateNot(NotVal->getOperand(1), "notrhs"); 3038 if (NotVal->getOpcode() == Instruction::And) 3045 if (match(NotVal, m_Sub(m_Value(X), m_Value(Y)))) 3046 if (isa<Constant>(X) || NotVal->hasOneUse()) 3050 if (match(NotVal, m_AShr(m_Not(m_Value(X)), m_Value(Y)))) 3060 if (match(NotVal, m_AShr(m_Constant(C), m_Value(Y))) && 3065 if (match(NotVal, m_LShr(m_Constant(C), m_Value(Y))) &&