Lines Matching refs:IsSigned
916 bool IsSigned) { in multiplyOverflows() argument
918 Product = IsSigned ? C1.smul_ov(C2, Overflow) : C1.umul_ov(C2, Overflow); in multiplyOverflows()
924 bool IsSigned) { in isMultiple() argument
932 if (IsSigned && C1.isMinSignedValue() && C2.isAllOnes()) in isMultiple()
935 APInt Remainder(C1.getBitWidth(), /*val=*/0ULL, IsSigned); in isMultiple()
936 if (IsSigned) in isMultiple()
949 bool IsSigned = I.getOpcode() == Instruction::SDiv; in foldIDivShl() local
966 if (!IsSigned && HasNUW) in foldIDivShl()
970 if (IsSigned && HasNSW && (Op0->hasOneUse() || Op1->hasOneUse())) { in foldIDivShl()
986 if (!IsSigned && in foldIDivShl()
994 if (IsSigned && Shl0->hasNoSignedWrap() && Shl1->hasNoSignedWrap() && in foldIDivShl()
1006 if (IsSigned ? (Shl0->hasNoSignedWrap() && Shl1->hasNoSignedWrap()) in foldIDivShl()
1015 IsSigned ? (Shl0->hasNoUnsignedWrap() || Shl1->hasNoUnsignedWrap()) in foldIDivShl()
1033 bool IsSigned = I.getOpcode() == Instruction::SDiv; in commonIDivTransforms() local
1061 if ((IsSigned && match(Op0, m_SDiv(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
1062 (!IsSigned && match(Op0, m_UDiv(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
1063 APInt Product(C1->getBitWidth(), /*val=*/0ULL, IsSigned); in commonIDivTransforms()
1064 if (!multiplyOverflows(*C1, *C2, Product, IsSigned)) in commonIDivTransforms()
1069 APInt Quotient(C2->getBitWidth(), /*val=*/0ULL, IsSigned); in commonIDivTransforms()
1070 if ((IsSigned && match(Op0, m_NSWMul(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
1071 (!IsSigned && match(Op0, m_NUWMul(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
1074 if (isMultiple(*C2, *C1, Quotient, IsSigned)) { in commonIDivTransforms()
1082 if (isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1086 Mul->setHasNoUnsignedWrap(!IsSigned && OBO->hasNoUnsignedWrap()); in commonIDivTransforms()
1092 if ((IsSigned && match(Op0, m_NSWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1094 (!IsSigned && match(Op0, m_NUWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1100 if (isMultiple(*C2, C1Shifted, Quotient, IsSigned)) { in commonIDivTransforms()
1108 if (isMultiple(C1Shifted, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1112 Mul->setHasNoUnsignedWrap(!IsSigned && OBO->hasNoUnsignedWrap()); in commonIDivTransforms()
1122 if (IsSigned && in commonIDivTransforms()
1125 isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1128 if (!IsSigned && in commonIDivTransforms()
1142 if (IsSigned) { in commonIDivTransforms()
1164 if ((IsSigned && match(Z, m_SRem(m_Specific(X), m_Specific(Op1)))) || in commonIDivTransforms()
1165 (!IsSigned && match(Z, m_URem(m_Specific(X), m_Specific(Op1))))) in commonIDivTransforms()
1170 if (IsSigned && match(Op0, m_NSWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms()
1172 if (!IsSigned && match(Op0, m_NUWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms()
1179 if ((IsSigned && HasNSW) || (!IsSigned && HasNUW)) { in commonIDivTransforms()
1188 if (!IsSigned && Op1->hasOneUse() && in commonIDivTransforms()
1209 if (!IsSigned && Mul->hasNoUnsignedWrap()) in commonIDivTransforms()
1211 else if (IsSigned && Mul->hasNoSignedWrap()) in commonIDivTransforms()
1231 if (IsSigned && OB0HasNSW) { in commonIDivTransforms()
1235 if (!IsSigned && OB0HasNUW) { in commonIDivTransforms()