reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
872 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { 873 unsigned SrcWidth = X->getType()->getScalarSizeInBits(); 875 MaskedValueIsZero(X, APInt::getHighBitsSet(SrcWidth, ShAmt), 0, &I)) 876 return new ZExtInst(Builder.CreateShl(X, ShAmt), Ty); 880 if (match(Op0, m_Shr(m_Value(X), m_Specific(Op1)))) { 882 return BinaryOperator::CreateAnd(X, ConstantInt::get(Ty, Mask)); 888 if (match(Op0, m_Exact(m_Shr(m_Value(X), m_APInt(ShOp1))))) { 893 auto *NewShl = BinaryOperator::CreateShl(X, ShiftDiff); 902 cast<BinaryOperator>(Op0)->getOpcode(), X, ShiftDiff); 908 if (match(Op0, m_Shl(m_Value(X), m_APInt(ShOp1)))) { 913 return BinaryOperator::CreateShl(X, ConstantInt::get(Ty, AmtSum));