Lines Matching defs:OrZero
820 bool llvm::isKnownToBeAPowerOfTwo(Value *V, bool OrZero, unsigned Depth) {
823 return OrZero;
845 if (OrZero && (match(V, m_Shl(m_Value(X), m_Value())) ||
847 return isKnownToBeAPowerOfTwo(X, /*OrZero*/true, Depth);
850 return isKnownToBeAPowerOfTwo(ZI->getOperand(0), OrZero, Depth);
853 return isKnownToBeAPowerOfTwo(SI->getTrueValue(), OrZero, Depth) &&
854 isKnownToBeAPowerOfTwo(SI->getFalseValue(), OrZero, Depth);
856 if (OrZero && match(V, m_And(m_Value(X), m_Value(Y)))) {
858 if (isKnownToBeAPowerOfTwo(X, /*OrZero*/true, Depth) ||
859 isKnownToBeAPowerOfTwo(Y, /*OrZero*/true, Depth))
871 if (OrZero || VOBO->hasNoUnsignedWrap() || VOBO->hasNoSignedWrap()) {
874 if (isKnownToBeAPowerOfTwo(Y, OrZero, Depth))
878 if (isKnownToBeAPowerOfTwo(X, OrZero, Depth))
891 // If OrZero isn't set, we cannot give back a zero result.
893 if (OrZero || RHSOneBits.getBoolValue() || LHSOneBits.getBoolValue())
903 return isKnownToBeAPowerOfTwo(cast<Operator>(V)->getOperand(0), OrZero, Depth);
1077 if (XKnownNonNegative && isKnownToBeAPowerOfTwo(Y, /*OrZero*/false, Depth))
1079 if (YKnownNonNegative && isKnownToBeAPowerOfTwo(X, /*OrZero*/false, Depth))