Lines Matching refs:IsSigned
1053 bool IsSigned) { in multiplyOverflows() argument
1055 Product = IsSigned ? C1.smul_ov(C2, Overflow) : C1.umul_ov(C2, Overflow); in multiplyOverflows()
1061 bool IsSigned) { in isMultiple() argument
1069 if (IsSigned && C1.isMinSignedValue() && C2.isAllOnes()) in isMultiple()
1072 APInt Remainder(C1.getBitWidth(), /*val=*/0ULL, IsSigned); in isMultiple()
1073 if (IsSigned) in isMultiple()
1086 bool IsSigned = I.getOpcode() == Instruction::SDiv; in foldIDivShl() local
1103 if (!IsSigned && HasNUW) in foldIDivShl()
1107 if (IsSigned && HasNSW && (Op0->hasOneUse() || Op1->hasOneUse())) { in foldIDivShl()
1123 if (!IsSigned && in foldIDivShl()
1131 if (IsSigned && Shl0->hasNoSignedWrap() && Shl1->hasNoSignedWrap() && in foldIDivShl()
1143 if (IsSigned ? (Shl0->hasNoSignedWrap() && Shl1->hasNoSignedWrap()) in foldIDivShl()
1152 IsSigned ? (Shl0->hasNoUnsignedWrap() || Shl1->hasNoUnsignedWrap()) in foldIDivShl()
1170 bool IsSigned = I.getOpcode() == Instruction::SDiv; in commonIDivTransforms() local
1198 if ((IsSigned && match(Op0, m_SDiv(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
1199 (!IsSigned && match(Op0, m_UDiv(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
1200 APInt Product(C1->getBitWidth(), /*val=*/0ULL, IsSigned); in commonIDivTransforms()
1201 if (!multiplyOverflows(*C1, *C2, Product, IsSigned)) in commonIDivTransforms()
1206 APInt Quotient(C2->getBitWidth(), /*val=*/0ULL, IsSigned); in commonIDivTransforms()
1207 if ((IsSigned && match(Op0, m_NSWMul(m_Value(X), m_APInt(C1)))) || in commonIDivTransforms()
1208 (!IsSigned && match(Op0, m_NUWMul(m_Value(X), m_APInt(C1))))) { in commonIDivTransforms()
1211 if (isMultiple(*C2, *C1, Quotient, IsSigned)) { in commonIDivTransforms()
1219 if (isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1223 Mul->setHasNoUnsignedWrap(!IsSigned && OBO->hasNoUnsignedWrap()); in commonIDivTransforms()
1229 if ((IsSigned && match(Op0, m_NSWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1231 (!IsSigned && match(Op0, m_NUWShl(m_Value(X), m_APInt(C1))) && in commonIDivTransforms()
1237 if (isMultiple(*C2, C1Shifted, Quotient, IsSigned)) { in commonIDivTransforms()
1245 if (isMultiple(C1Shifted, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1249 Mul->setHasNoUnsignedWrap(!IsSigned && OBO->hasNoUnsignedWrap()); in commonIDivTransforms()
1259 if (IsSigned && in commonIDivTransforms()
1262 isMultiple(*C1, *C2, Quotient, IsSigned)) { in commonIDivTransforms()
1265 if (!IsSigned && in commonIDivTransforms()
1279 if (IsSigned) { in commonIDivTransforms()
1303 if ((IsSigned && match(Z, m_SRem(m_Specific(X), m_Specific(Op1)))) || in commonIDivTransforms()
1304 (!IsSigned && match(Z, m_URem(m_Specific(X), m_Specific(Op1))))) in commonIDivTransforms()
1309 if (IsSigned && match(Op0, m_NSWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms()
1311 if (!IsSigned && match(Op0, m_NUWShl(m_Specific(Op1), m_Value(Y)))) in commonIDivTransforms()
1318 if ((IsSigned && HasNSW) || (!IsSigned && HasNUW)) { in commonIDivTransforms()
1327 if (!IsSigned && Op1->hasOneUse() && in commonIDivTransforms()
1348 if (!IsSigned && Mul->hasNoUnsignedWrap()) in commonIDivTransforms()
1350 else if (IsSigned && Mul->hasNoSignedWrap()) in commonIDivTransforms()
1370 if (IsSigned && OB0HasNSW) { in commonIDivTransforms()
1374 if (!IsSigned && OB0HasNUW) { in commonIDivTransforms()