@@ -4326,8 +4326,8 @@ Instruction *InstCombinerImpl::foldSelectICmp(CmpPredicate Pred, SelectInst *SI,
43264326}
43274327
43284328// Returns whether V is a Mask ((X + 1) & X == 0) or ~Mask (-Pow2OrZero)
4329- static bool isMaskOrZero (const Value *V, bool Not, const SimplifyQuery &Q ,
4330- unsigned Depth = 0 ) {
4329+ bool InstCombiner:: isMaskOrZero (const Value *V, bool Not,
4330+ const SimplifyQuery &Q, unsigned Depth ) {
43314331 if (Not ? match (V, m_NegatedPower2OrZero ()) : match (V, m_LowBitMaskOrZero ()))
43324332 return true ;
43334333 if (V->getType ()->getScalarSizeInBits () == 1 )
@@ -4381,14 +4381,14 @@ static bool isMaskOrZero(const Value *V, bool Not, const SimplifyQuery &Q,
43814381 case Instruction::Add:
43824382 // Pow2 - 1 is a Mask.
43834383 if (!Not && match (I->getOperand (1 ), m_AllOnes ()))
4384- return isKnownToBeAPowerOfTwo (I->getOperand (0 ), Q.DL , /* OrZero*/ true ,
4385- Depth, Q.AC , Q.CxtI , Q.DT );
4384+ return :: isKnownToBeAPowerOfTwo (I->getOperand (0 ), Q.DL , /* OrZero*/ true ,
4385+ Depth, Q.AC , Q.CxtI , Q.DT );
43864386 break ;
43874387 case Instruction::Sub:
43884388 // -Pow2 is a ~Mask.
43894389 if (Not && match (I->getOperand (0 ), m_Zero ()))
4390- return isKnownToBeAPowerOfTwo (I->getOperand (1 ), Q.DL , /* OrZero*/ true ,
4391- Depth, Q.AC , Q.CxtI , Q.DT );
4390+ return :: isKnownToBeAPowerOfTwo (I->getOperand (1 ), Q.DL , /* OrZero*/ true ,
4391+ Depth, Q.AC , Q.CxtI , Q.DT );
43924392 break ;
43934393 case Instruction::Call: {
43944394 if (auto *II = dyn_cast<IntrinsicInst>(I)) {
@@ -4497,13 +4497,13 @@ static Value *foldICmpWithLowBitMaskedVal(CmpPredicate Pred, Value *Op0,
44974497 if (match (Op0, m_c_And (m_Specific (Op1), m_Value (M)))) {
44984498 X = Op1;
44994499 // Look for: x & Mask pred x
4500- if (isMaskOrZero (M, /* Not=*/ false , Q)) {
4500+ if (IC. isMaskOrZero (M, /* Not=*/ false , Q)) {
45014501 return !ICmpInst::isSigned (Pred) ||
45024502 (match (M, m_NonNegative ()) || isKnownNonNegative (M, Q));
45034503 }
45044504
45054505 // Look for: x & ~Mask pred ~Mask
4506- if (isMaskOrZero (X, /* Not=*/ true , Q)) {
4506+ if (IC. isMaskOrZero (X, /* Not=*/ true , Q)) {
45074507 return !ICmpInst::isSigned (Pred) || isKnownNonZero (X, Q);
45084508 }
45094509 return false ;
@@ -4513,7 +4513,7 @@ static Value *foldICmpWithLowBitMaskedVal(CmpPredicate Pred, Value *Op0,
45134513
45144514 auto Check = [&]() {
45154515 // Look for: ~x | Mask == -1
4516- if (isMaskOrZero (M, /* Not=*/ false , Q)) {
4516+ if (IC. isMaskOrZero (M, /* Not=*/ false , Q)) {
45174517 if (Value *NotX =
45184518 IC.getFreelyInverted (X, X->hasOneUse (), &IC.Builder )) {
45194519 X = NotX;
@@ -4531,7 +4531,7 @@ static Value *foldICmpWithLowBitMaskedVal(CmpPredicate Pred, Value *Op0,
45314531 match (Op0, m_OneUse (m_And (m_Value (X), m_Value (M))))) {
45324532 auto Check = [&]() {
45334533 // Look for: x & ~Mask == 0
4534- if (isMaskOrZero (M, /* Not=*/ true , Q)) {
4534+ if (IC. isMaskOrZero (M, /* Not=*/ true , Q)) {
45354535 if (Value *NotM =
45364536 IC.getFreelyInverted (M, M->hasOneUse (), &IC.Builder )) {
45374537 M = NotM;
0 commit comments