Lines Matching refs:IsSigned
81 bool IsSigned) { in MultiplyOverflows() argument
83 if (IsSigned) in MultiplyOverflows()
93 bool IsSigned) { in IsMultiple() argument
102 if (IsSigned && C1.isMinSignedValue() && C2.isAllOnesValue()) in IsMultiple()
105 APInt Remainder(C1.getBitWidth(), /*Val=*/0ULL, IsSigned); in IsMultiple()
106 if (IsSigned) in IsMultiple()
808 bool IsSigned = I.getOpcode() == Instruction::SDiv; in commonIDivTransforms() local
811 if ((IsSigned && match(LHS, m_SDiv(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
812 (!IsSigned && match(LHS, m_UDiv(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
813 APInt Product(C1->getBitWidth(), /*Val=*/0ULL, IsSigned); in commonIDivTransforms()
814 if (!MultiplyOverflows(*C1, *C2, Product, IsSigned)) in commonIDivTransforms()
819 if ((IsSigned && match(LHS, m_NSWMul(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
820 (!IsSigned && match(LHS, m_NUWMul(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
821 APInt Quotient(C1->getBitWidth(), /*Val=*/0ULL, IsSigned); in commonIDivTransforms()
824 if (IsMultiple(*C2, *C1, Quotient, IsSigned)) { in commonIDivTransforms()
832 if (IsMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
836 !IsSigned && in commonIDivTransforms()
844 if ((IsSigned && match(LHS, m_NSWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
846 (!IsSigned && match(LHS, m_NUWShl(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
847 APInt Quotient(C1->getBitWidth(), /*Val=*/0ULL, IsSigned); in commonIDivTransforms()
852 if (IsMultiple(*C2, C1Shifted, Quotient, IsSigned)) { in commonIDivTransforms()
860 if (IsMultiple(C1Shifted, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
864 !IsSigned && in commonIDivTransforms()