reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
225 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value()))) 227 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One()))) 232 MaskOps MOps(I.getType()->getScalarSizeInBits(), MatchAllBitsSet); 234 if (!matchAndOrChain(cast<BinaryOperator>(&I), MOps) || !MOps.FoundAnd1) 237 if (!matchAndOrChain(cast<BinaryOperator>(&I)->getOperand(0), MOps)) 243 IRBuilder<> Builder(&I); 244 Constant *Mask = ConstantInt::get(I.getType(), MOps.Mask); 248 Value *Zext = Builder.CreateZExt(Cmp, I.getType()); 249 I.replaceAllUsesWith(Zext);