Lines Matching refs:OrZero
269 static bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero, unsigned Depth,
273 bool OrZero, unsigned Depth, in isKnownToBeAPowerOfTwo() argument
277 V, OrZero, Depth, in isKnownToBeAPowerOfTwo()
2161 static bool isPowerOfTwoRecurrence(const PHINode *PN, bool OrZero, in isPowerOfTwoRecurrence() argument
2174 if (!isKnownToBeAPowerOfTwo(Start, OrZero, Depth, Q)) in isPowerOfTwoRecurrence()
2188 return (OrZero || Q.IIQ.hasNoUnsignedWrap(BO) || in isPowerOfTwoRecurrence()
2190 isKnownToBeAPowerOfTwo(Step, OrZero, Depth, Q); in isPowerOfTwoRecurrence()
2201 return (OrZero || Q.IIQ.isExact(BO)) && in isPowerOfTwoRecurrence()
2204 return OrZero || Q.IIQ.hasNoUnsignedWrap(BO) || Q.IIQ.hasNoSignedWrap(BO); in isPowerOfTwoRecurrence()
2210 return OrZero || Q.IIQ.isExact(BO); in isPowerOfTwoRecurrence()
2220 bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero, unsigned Depth, in isKnownToBeAPowerOfTwo() argument
2225 return OrZero ? match(V, m_Power2OrZero()) : match(V, m_Power2()); in isKnownToBeAPowerOfTwo()
2228 if (OrZero && V->getType()->getScalarSizeInBits() == 1) in isKnownToBeAPowerOfTwo()
2257 return isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2259 return OrZero && isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2261 if (OrZero || Q.IIQ.hasNoUnsignedWrap(I) || Q.IIQ.hasNoSignedWrap(I)) in isKnownToBeAPowerOfTwo()
2262 return isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2265 if (OrZero || Q.IIQ.isExact(cast<BinaryOperator>(I))) in isKnownToBeAPowerOfTwo()
2266 return isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2270 return isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2273 return isKnownToBeAPowerOfTwo(I->getOperand(1), OrZero, Depth, Q) && in isKnownToBeAPowerOfTwo()
2274 isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q) && in isKnownToBeAPowerOfTwo()
2275 (OrZero || isKnownNonZero(I, Q, Depth)); in isKnownToBeAPowerOfTwo()
2278 if (OrZero && in isKnownToBeAPowerOfTwo()
2285 return OrZero || isKnownNonZero(I->getOperand(0), Q, Depth); in isKnownToBeAPowerOfTwo()
2291 if (OrZero || Q.IIQ.hasNoUnsignedWrap(VOBO) || in isKnownToBeAPowerOfTwo()
2295 isKnownToBeAPowerOfTwo(I->getOperand(1), OrZero, Depth, Q)) in isKnownToBeAPowerOfTwo()
2299 isKnownToBeAPowerOfTwo(I->getOperand(0), OrZero, Depth, Q)) in isKnownToBeAPowerOfTwo()
2314 if (OrZero || RHSBits.One.getBoolValue() || LHSBits.One.getBoolValue()) in isKnownToBeAPowerOfTwo()
2319 if (OrZero || Q.IIQ.hasNoUnsignedWrap(VOBO)) in isKnownToBeAPowerOfTwo()
2325 return isKnownToBeAPowerOfTwo(I->getOperand(1), OrZero, Depth, Q) && in isKnownToBeAPowerOfTwo()
2326 isKnownToBeAPowerOfTwo(I->getOperand(2), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2335 if (isPowerOfTwoRecurrence(PN, OrZero, Depth, RecQ)) in isKnownToBeAPowerOfTwo()
2349 return isKnownToBeAPowerOfTwo(U.get(), OrZero, NewDepth, RecQ); in isKnownToBeAPowerOfTwo()
2360 return isKnownToBeAPowerOfTwo(II->getArgOperand(1), OrZero, Depth, Q) && in isKnownToBeAPowerOfTwo()
2361 isKnownToBeAPowerOfTwo(II->getArgOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2366 return isKnownToBeAPowerOfTwo(II->getArgOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()
2371 return isKnownToBeAPowerOfTwo(II->getArgOperand(0), OrZero, Depth, Q); in isKnownToBeAPowerOfTwo()