Lines Matching refs:APInt

77 void APInt::initSlowCase(uint64_t val, bool isSigned) {  in initSlowCase()
86 void APInt::initSlowCase(const APInt& that) { in initSlowCase()
91 void APInt::initFromArray(ArrayRef<uint64_t> bigVal) { in initFromArray()
108 APInt::APInt(unsigned numBits, ArrayRef<uint64_t> bigVal) in APInt() function in APInt
113 APInt::APInt(unsigned numBits, unsigned numWords, const uint64_t bigVal[]) in APInt() function in APInt
118 APInt::APInt(unsigned numbits, StringRef Str, uint8_t radix) in APInt() function in APInt
124 void APInt::reallocate(unsigned NewBitWidth) { in reallocate()
143 void APInt::AssignSlowCase(const APInt& RHS) { in AssignSlowCase()
159 void APInt::Profile(FoldingSetNodeID& ID) const { in Profile()
173 APInt& APInt::operator++() { in operator ++()
182 APInt& APInt::operator--() { in operator --()
193 APInt& APInt::operator+=(const APInt& RHS) { in operator +=()
202 APInt& APInt::operator+=(uint64_t RHS) { in operator +=()
213 APInt& APInt::operator-=(const APInt& RHS) { in operator -=()
222 APInt& APInt::operator-=(uint64_t RHS) { in operator -=()
230 APInt APInt::operator*(const APInt& RHS) const { in operator *()
233 return APInt(BitWidth, U.VAL * RHS.U.VAL); in operator *()
235 APInt Result(getMemory(getNumWords()), getBitWidth()); in operator *()
243 void APInt::AndAssignSlowCase(const APInt& RHS) { in AndAssignSlowCase()
247 void APInt::OrAssignSlowCase(const APInt& RHS) { in OrAssignSlowCase()
251 void APInt::XorAssignSlowCase(const APInt& RHS) { in XorAssignSlowCase()
255 APInt& APInt::operator*=(const APInt& RHS) { in operator *=()
261 APInt& APInt::operator*=(uint64_t RHS) { in operator *=()
271 bool APInt::EqualSlowCase(const APInt& RHS) const { in EqualSlowCase()
275 int APInt::compare(const APInt& RHS) const { in compare()
283 int APInt::compareSigned(const APInt& RHS) const { in compareSigned()
303 void APInt::setBitsSlowCase(unsigned loBit, unsigned hiBit) { in setBitsSlowCase()
331 void APInt::flipAllBitsSlowCase() { in flipAllBitsSlowCase()
339 void APInt::flipBit(unsigned bitPosition) { in flipBit()
344 void APInt::insertBits(const APInt &subBits, unsigned bitPosition) { in insertBits()
399 void APInt::insertBits(uint64_t subBits, unsigned bitPosition, unsigned numBits) { in insertBits()
426 APInt APInt::extractBits(unsigned numBits, unsigned bitPosition) const { in extractBits()
432 return APInt(numBits, U.VAL >> bitPosition); in extractBits()
440 return APInt(numBits, U.pVal[loWord] >> loBit); in extractBits()
445 return APInt(numBits, makeArrayRef(U.pVal + loWord, 1 + hiWord - loWord)); in extractBits()
448 APInt Result(numBits, 0); in extractBits()
463 uint64_t APInt::extractBitsAsZExtValue(unsigned numBits, in extractBitsAsZExtValue()
488 unsigned APInt::getBitsNeeded(StringRef str, uint8_t radix) { in getBitsNeeded()
529 APInt tmp(sufficient, StringRef(p, slen), radix); in getBitsNeeded()
544 hash_code llvm::hash_value(const APInt &Arg) { in hash_value()
553 unsigned DenseMapInfo<APInt>::getHashValue(const APInt &Key) { in getHashValue()
557 bool APInt::isSplat(unsigned SplatSizeInBits) const { in isSplat()
566 APInt APInt::getHiBits(unsigned numBits) const { in getHiBits()
571 APInt APInt::getLoBits(unsigned numBits) const { in getLoBits()
572 APInt Result(getLowBitsSet(BitWidth, numBits)); in getLoBits()
578 APInt APInt::getSplat(unsigned NewLen, const APInt &V) { in getSplat()
581 APInt Val = V.zextOrSelf(NewLen); in getSplat()
588 unsigned APInt::countLeadingZerosSlowCase() const { in countLeadingZerosSlowCase()
605 unsigned APInt::countLeadingOnesSlowCase() const { in countLeadingOnesSlowCase()
629 unsigned APInt::countTrailingZerosSlowCase() const { in countTrailingZerosSlowCase()
639 unsigned APInt::countTrailingOnesSlowCase() const { in countTrailingOnesSlowCase()
650 unsigned APInt::countPopulationSlowCase() const { in countPopulationSlowCase()
657 bool APInt::intersectsSlowCase(const APInt &RHS) const { in intersectsSlowCase()
665 bool APInt::isSubsetOfSlowCase(const APInt &RHS) const { in isSubsetOfSlowCase()
673 APInt APInt::byteSwap() const { in byteSwap()
676 return APInt(BitWidth, ByteSwap_16(uint16_t(U.VAL))); in byteSwap()
678 return APInt(BitWidth, ByteSwap_32(unsigned(U.VAL))); in byteSwap()
682 return APInt(BitWidth, Tmp1); in byteSwap()
685 APInt Result(getNumWords() * APINT_BITS_PER_WORD, 0); in byteSwap()
695 APInt APInt::reverseBits() const { in reverseBits()
698 return APInt(BitWidth, llvm::reverseBits<uint64_t>(U.VAL)); in reverseBits()
700 return APInt(BitWidth, llvm::reverseBits<uint32_t>(U.VAL)); in reverseBits()
702 return APInt(BitWidth, llvm::reverseBits<uint16_t>(U.VAL)); in reverseBits()
704 return APInt(BitWidth, llvm::reverseBits<uint8_t>(U.VAL)); in reverseBits()
709 APInt Val(*this); in reverseBits()
710 APInt Reversed(BitWidth, 0); in reverseBits()
723 APInt llvm::APIntOps::GreatestCommonDivisor(APInt A, APInt B) { in GreatestCommonDivisor()
766 APInt llvm::APIntOps::RoundDoubleToAPInt(double Double, unsigned width) { in RoundDoubleToAPInt()
777 return APInt(width, 0u); in RoundDoubleToAPInt()
784 return isNeg ? -APInt(width, mantissa >> (52 - exp)) : in RoundDoubleToAPInt()
785 APInt(width, mantissa >> (52 - exp)); in RoundDoubleToAPInt()
790 return APInt(width, 0); in RoundDoubleToAPInt()
793 APInt Tmp(width, mantissa); in RoundDoubleToAPInt()
805 double APInt::roundToDouble(bool isSigned) const { in roundToDouble()
821 APInt Tmp(isNeg ? -(*this) : (*this)); in roundToDouble()
862 APInt APInt::trunc(unsigned width) const { in trunc()
867 return APInt(width, getRawData()[0]); in trunc()
869 APInt Result(getMemory(getNumWords(width)), width); in trunc()
885 APInt APInt::truncUSat(unsigned width) const { in truncUSat()
893 return APInt::getMaxValue(width); in truncUSat()
897 APInt APInt::truncSSat(unsigned width) const { in truncSSat()
905 return isNegative() ? APInt::getSignedMinValue(width) in truncSSat()
906 : APInt::getSignedMaxValue(width); in truncSSat()
910 APInt APInt::sext(unsigned Width) const { in sext()
914 return APInt(Width, SignExtend64(U.VAL, BitWidth)); in sext()
916 APInt Result(getMemory(getNumWords(Width)), Width); in sext()
934 APInt APInt::zext(unsigned width) const { in zext()
938 return APInt(width, U.VAL); in zext()
940 APInt Result(getMemory(getNumWords(width)), width); in zext()
952 APInt APInt::zextOrTrunc(unsigned width) const { in zextOrTrunc()
960 APInt APInt::sextOrTrunc(unsigned width) const { in sextOrTrunc()
968 APInt APInt::truncOrSelf(unsigned width) const { in truncOrSelf()
974 APInt APInt::zextOrSelf(unsigned width) const { in zextOrSelf()
980 APInt APInt::sextOrSelf(unsigned width) const { in sextOrSelf()
988 void APInt::ashrInPlace(const APInt &shiftAmt) { in ashrInPlace()
994 void APInt::ashrSlowCase(unsigned ShiftAmt) { in ashrSlowCase()
1037 void APInt::lshrInPlace(const APInt &shiftAmt) { in lshrInPlace()
1043 void APInt::lshrSlowCase(unsigned ShiftAmt) { in lshrSlowCase()
1049 APInt &APInt::operator<<=(const APInt &shiftAmt) { in operator <<=()
1055 void APInt::shlSlowCase(unsigned ShiftAmt) { in shlSlowCase()
1061 static unsigned rotateModulo(unsigned BitWidth, const APInt &rotateAmt) { in rotateModulo()
1063 APInt rot = rotateAmt; in rotateModulo()
1069 rot = rot.urem(APInt(rot.getBitWidth(), BitWidth)); in rotateModulo()
1073 APInt APInt::rotl(const APInt &rotateAmt) const { in rotl()
1077 APInt APInt::rotl(unsigned rotateAmt) const { in rotl()
1084 APInt APInt::rotr(const APInt &rotateAmt) const { in rotr()
1088 APInt APInt::rotr(unsigned rotateAmt) const { in rotr()
1102 APInt APInt::sqrt() const { in sqrt()
1119 return APInt(BitWidth, results[ (isSingleWord() ? U.VAL : U.pVal[0]) ]); in sqrt()
1127 return APInt(BitWidth, in sqrt()
1138 APInt testy(BitWidth, 16); in sqrt()
1139 APInt x_old(BitWidth, 1); in sqrt()
1140 APInt x_new(BitWidth, 0); in sqrt()
1141 APInt two(BitWidth, 2); in sqrt()
1164 APInt square(x_old * x_old); in sqrt()
1165 APInt nextSquare((x_old + 1) * (x_old +1)); in sqrt()
1169 APInt midpoint((nextSquare - square).udiv(two)); in sqrt()
1170 APInt offset(*this - square); in sqrt()
1183 APInt APInt::multiplicativeInverse(const APInt& modulo) const { in multiplicativeInverse()
1194 APInt r[2] = { modulo, *this }; in multiplicativeInverse()
1195 APInt t[2] = { APInt(BitWidth, 0), APInt(BitWidth, 1) }; in multiplicativeInverse()
1196 APInt q(BitWidth, 0); in multiplicativeInverse()
1213 return APInt(BitWidth, 0); in multiplicativeInverse()
1229 APInt::ms APInt::magic() const { in magic()
1230 const APInt& d = *this; in magic()
1232 APInt ad, anc, delta, q1, r1, q2, r2, t; in magic()
1233 APInt signedMin = APInt::getSignedMinValue(d.getBitWidth()); in magic()
1273 APInt::mu APInt::magicu(unsigned LeadingZeros) const { in magicu()
1274 const APInt& d = *this; in magicu()
1276 APInt nc, delta, q1, r1, q2, r2; in magicu()
1279 APInt allOnes = APInt::getAllOnesValue(d.getBitWidth()).lshr(LeadingZeros); in magicu()
1280 APInt signedMin = APInt::getSignedMinValue(d.getBitWidth()); in magicu()
1281 APInt signedMax = APInt::getSignedMaxValue(d.getBitWidth()); in magicu()
1481 void APInt::divide(const WordType *LHS, unsigned lhsWords, const WordType *RHS, in divide()
1604 APInt APInt::udiv(const APInt &RHS) const { in udiv()
1610 return APInt(BitWidth, U.VAL / RHS.U.VAL); in udiv()
1622 return APInt(BitWidth, 0); in udiv()
1628 return APInt(BitWidth, 0); in udiv()
1631 return APInt(BitWidth, 1); in udiv()
1634 return APInt(BitWidth, this->U.pVal[0] / RHS.U.pVal[0]); in udiv()
1637 APInt Quotient(BitWidth, 0); // to hold result. in udiv()
1642 APInt APInt::udiv(uint64_t RHS) const { in udiv()
1647 return APInt(BitWidth, U.VAL / RHS); in udiv()
1655 return APInt(BitWidth, 0); in udiv()
1661 return APInt(BitWidth, 0); in udiv()
1664 return APInt(BitWidth, 1); in udiv()
1667 return APInt(BitWidth, this->U.pVal[0] / RHS); in udiv()
1670 APInt Quotient(BitWidth, 0); // to hold result. in udiv()
1675 APInt APInt::sdiv(const APInt &RHS) const { in sdiv()
1686 APInt APInt::sdiv(int64_t RHS) const { in sdiv()
1697 APInt APInt::urem(const APInt &RHS) const { in urem()
1701 return APInt(BitWidth, U.VAL % RHS.U.VAL); in urem()
1715 return APInt(BitWidth, 0); in urem()
1718 return APInt(BitWidth, 0); in urem()
1724 return APInt(BitWidth, 0); in urem()
1727 return APInt(BitWidth, U.pVal[0] % RHS.U.pVal[0]); in urem()
1730 APInt Remainder(BitWidth, 0); in urem()
1735 uint64_t APInt::urem(uint64_t RHS) const { in urem()
1767 APInt APInt::srem(const APInt &RHS) const { in srem()
1778 int64_t APInt::srem(int64_t RHS) const { in srem()
1789 void APInt::udivrem(const APInt &LHS, const APInt &RHS, in udivrem()
1790 APInt &Quotient, APInt &Remainder) { in udivrem()
1799 Quotient = APInt(BitWidth, QuotVal); in udivrem()
1800 Remainder = APInt(BitWidth, RemVal); in udivrem()
1812 Quotient = APInt(BitWidth, 0); // 0 / Y ===> 0 in udivrem()
1813 Remainder = APInt(BitWidth, 0); // 0 % Y ===> 0 in udivrem()
1819 Remainder = APInt(BitWidth, 0); // X % 1 ===> 0 in udivrem()
1824 Quotient = APInt(BitWidth, 0); // X / Y ===> 0, iff X < Y in udivrem()
1829 Quotient = APInt(BitWidth, 1); // X / X ===> 1 in udivrem()
1830 Remainder = APInt(BitWidth, 0); // X % X ===> 0; in udivrem()
1860 void APInt::udivrem(const APInt &LHS, uint64_t RHS, APInt &Quotient, in udivrem()
1869 Quotient = APInt(BitWidth, QuotVal); in udivrem()
1878 Quotient = APInt(BitWidth, 0); // 0 / Y ===> 0 in udivrem()
1891 Quotient = APInt(BitWidth, 0); // X / Y ===> 0, iff X < Y in udivrem()
1896 Quotient = APInt(BitWidth, 1); // X / X ===> 1 in udivrem()
1921 void APInt::sdivrem(const APInt &LHS, const APInt &RHS, in sdivrem()
1922 APInt &Quotient, APInt &Remainder) { in sdivrem()
1925 APInt::udivrem(-LHS, -RHS, Quotient, Remainder); in sdivrem()
1927 APInt::udivrem(-LHS, RHS, Quotient, Remainder); in sdivrem()
1932 APInt::udivrem(LHS, -RHS, Quotient, Remainder); in sdivrem()
1935 APInt::udivrem(LHS, RHS, Quotient, Remainder); in sdivrem()
1939 void APInt::sdivrem(const APInt &LHS, int64_t RHS, in sdivrem()
1940 APInt &Quotient, int64_t &Remainder) { in sdivrem()
1944 APInt::udivrem(-LHS, -RHS, Quotient, R); in sdivrem()
1946 APInt::udivrem(-LHS, RHS, Quotient, R); in sdivrem()
1951 APInt::udivrem(LHS, -RHS, Quotient, R); in sdivrem()
1954 APInt::udivrem(LHS, RHS, Quotient, R); in sdivrem()
1959 APInt APInt::sadd_ov(const APInt &RHS, bool &Overflow) const { in sadd_ov()
1960 APInt Res = *this+RHS; in sadd_ov()
1966 APInt APInt::uadd_ov(const APInt &RHS, bool &Overflow) const { in uadd_ov()
1967 APInt Res = *this+RHS; in uadd_ov()
1972 APInt APInt::ssub_ov(const APInt &RHS, bool &Overflow) const { in ssub_ov()
1973 APInt Res = *this - RHS; in ssub_ov()
1979 APInt APInt::usub_ov(const APInt &RHS, bool &Overflow) const { in usub_ov()
1980 APInt Res = *this-RHS; in usub_ov()
1985 APInt APInt::sdiv_ov(const APInt &RHS, bool &Overflow) const { in sdiv_ov()
1991 APInt APInt::smul_ov(const APInt &RHS, bool &Overflow) const { in smul_ov()
1992 APInt Res = *this * RHS; in smul_ov()
2001 APInt APInt::umul_ov(const APInt &RHS, bool &Overflow) const { in umul_ov()
2007 APInt Res = lshr(1) * RHS; in umul_ov()
2018 APInt APInt::sshl_ov(const APInt &ShAmt, bool &Overflow) const { in sshl_ov()
2021 return APInt(BitWidth, 0); in sshl_ov()
2031 APInt APInt::ushl_ov(const APInt &ShAmt, bool &Overflow) const { in ushl_ov()
2034 return APInt(BitWidth, 0); in ushl_ov()
2041 APInt APInt::sadd_sat(const APInt &RHS) const { in sadd_sat()
2043 APInt Res = sadd_ov(RHS, Overflow); in sadd_sat()
2047 return isNegative() ? APInt::getSignedMinValue(BitWidth) in sadd_sat()
2048 : APInt::getSignedMaxValue(BitWidth); in sadd_sat()
2051 APInt APInt::uadd_sat(const APInt &RHS) const { in uadd_sat()
2053 APInt Res = uadd_ov(RHS, Overflow); in uadd_sat()
2057 return APInt::getMaxValue(BitWidth); in uadd_sat()
2060 APInt APInt::ssub_sat(const APInt &RHS) const { in ssub_sat()
2062 APInt Res = ssub_ov(RHS, Overflow); in ssub_sat()
2066 return isNegative() ? APInt::getSignedMinValue(BitWidth) in ssub_sat()
2067 : APInt::getSignedMaxValue(BitWidth); in ssub_sat()
2070 APInt APInt::usub_sat(const APInt &RHS) const { in usub_sat()
2072 APInt Res = usub_ov(RHS, Overflow); in usub_sat()
2076 return APInt(BitWidth, 0); in usub_sat()
2079 APInt APInt::smul_sat(const APInt &RHS) const { in smul_sat()
2081 APInt Res = smul_ov(RHS, Overflow); in smul_sat()
2088 return ResIsNegative ? APInt::getSignedMinValue(BitWidth) in smul_sat()
2089 : APInt::getSignedMaxValue(BitWidth); in smul_sat()
2092 APInt APInt::umul_sat(const APInt &RHS) const { in umul_sat()
2094 APInt Res = umul_ov(RHS, Overflow); in umul_sat()
2098 return APInt::getMaxValue(BitWidth); in umul_sat()
2101 APInt APInt::sshl_sat(const APInt &RHS) const { in sshl_sat()
2103 APInt Res = sshl_ov(RHS, Overflow); in sshl_sat()
2107 return isNegative() ? APInt::getSignedMinValue(BitWidth) in sshl_sat()
2108 : APInt::getSignedMaxValue(BitWidth); in sshl_sat()
2111 APInt APInt::ushl_sat(const APInt &RHS) const { in ushl_sat()
2113 APInt Res = ushl_ov(RHS, Overflow); in ushl_sat()
2117 return APInt::getMaxValue(BitWidth); in ushl_sat()
2120 void APInt::fromString(unsigned numbits, StringRef str, uint8_t radix) { in fromString()
2171 void APInt::toString(SmallVectorImpl<char> &Str, unsigned Radix, in toString()
2240 APInt Tmp(*this); in toString()
2285 LLVM_DUMP_METHOD void APInt::dump() const { in dump()
2294 void APInt::print(raw_ostream &OS, bool isSigned) const { in print()
2305 static_assert(APInt::APINT_BITS_PER_WORD % 2 == 0,
2312 static inline APInt::WordType lowBitMask(unsigned bits) { in lowBitMask()
2313 assert(bits != 0 && bits <= APInt::APINT_BITS_PER_WORD); in lowBitMask()
2315 return ~(APInt::WordType) 0 >> (APInt::APINT_BITS_PER_WORD - bits); in lowBitMask()
2319 static inline APInt::WordType lowHalf(APInt::WordType part) { in lowHalf()
2320 return part & lowBitMask(APInt::APINT_BITS_PER_WORD / 2); in lowHalf()
2324 static inline APInt::WordType highHalf(APInt::WordType part) { in highHalf()
2325 return part >> (APInt::APINT_BITS_PER_WORD / 2); in highHalf()
2330 static unsigned partMSB(APInt::WordType value) { in partMSB()
2336 static unsigned partLSB(APInt::WordType value) { in partLSB()
2342 void APInt::tcSet(WordType *dst, WordType part, unsigned parts) { in tcSet()
2351 void APInt::tcAssign(WordType *dst, const WordType *src, unsigned parts) { in tcAssign()
2357 bool APInt::tcIsZero(const WordType *src, unsigned parts) { in tcIsZero()
2366 int APInt::tcExtractBit(const WordType *parts, unsigned bit) { in tcExtractBit()
2371 void APInt::tcSetBit(WordType *parts, unsigned bit) { in tcSetBit()
2376 void APInt::tcClearBit(WordType *parts, unsigned bit) { in tcClearBit()
2382 unsigned APInt::tcLSB(const WordType *parts, unsigned n) { in tcLSB()
2396 unsigned APInt::tcMSB(const WordType *parts, unsigned n) { in tcMSB()
2415 APInt::tcExtract(WordType *dst, unsigned dstCount, const WordType *src, in tcExtract()
2445 APInt::WordType APInt::tcAdd(WordType *dst, const WordType *rhs, in tcAdd()
2467 APInt::WordType APInt::tcAddPart(WordType *dst, WordType src, in tcAddPart()
2480 APInt::WordType APInt::tcSubtract(WordType *dst, const WordType *rhs, in tcSubtract()
2505 APInt::WordType APInt::tcSubtractPart(WordType *dst, WordType src, in tcSubtractPart()
2519 void APInt::tcNegate(WordType *dst, unsigned parts) { in tcNegate()
2535 int APInt::tcMultiplyPart(WordType *dst, const WordType *src, in tcMultiplyPart()
2624 int APInt::tcMultiply(WordType *dst, const WordType *lhs, in tcMultiply()
2640 void APInt::tcFullMultiply(WordType *dst, const WordType *lhs, in tcFullMultiply()
2665 int APInt::tcDivide(WordType *lhs, const WordType *rhs, in tcDivide()
2707 void APInt::tcShiftLeft(WordType *Dst, unsigned Words, unsigned Count) { in tcShiftLeft()
2734 void APInt::tcShiftRight(WordType *Dst, unsigned Words, unsigned Count) { in tcShiftRight()
2760 void APInt::tcAnd(WordType *dst, const WordType *rhs, unsigned parts) { in tcAnd()
2766 void APInt::tcOr(WordType *dst, const WordType *rhs, unsigned parts) { in tcOr()
2772 void APInt::tcXor(WordType *dst, const WordType *rhs, unsigned parts) { in tcXor()
2778 void APInt::tcComplement(WordType *dst, unsigned parts) { in tcComplement()
2784 int APInt::tcCompare(const WordType *lhs, const WordType *rhs, in tcCompare()
2797 void APInt::tcSetLeastSignificantBits(WordType *dst, unsigned parts, in tcSetLeastSignificantBits()
2812 APInt llvm::APIntOps::RoundingUDiv(const APInt &A, const APInt &B, in RoundingUDiv()
2813 APInt::Rounding RM) { in RoundingUDiv()
2816 case APInt::Rounding::DOWN: in RoundingUDiv()
2817 case APInt::Rounding::TOWARD_ZERO: in RoundingUDiv()
2819 case APInt::Rounding::UP: { in RoundingUDiv()
2820 APInt Quo, Rem; in RoundingUDiv()
2821 APInt::udivrem(A, B, Quo, Rem); in RoundingUDiv()
2830 APInt llvm::APIntOps::RoundingSDiv(const APInt &A, const APInt &B, in RoundingSDiv()
2831 APInt::Rounding RM) { in RoundingSDiv()
2833 case APInt::Rounding::DOWN: in RoundingSDiv()
2834 case APInt::Rounding::UP: { in RoundingSDiv()
2835 APInt Quo, Rem; in RoundingSDiv()
2836 APInt::sdivrem(A, B, Quo, Rem); in RoundingSDiv()
2844 if (RM == APInt::Rounding::DOWN) { in RoundingSDiv()
2854 case APInt::Rounding::TOWARD_ZERO: in RoundingSDiv()
2860 Optional<APInt>
2861 llvm::APIntOps::SolveQuadraticEquationWrap(APInt A, APInt B, APInt C, in SolveQuadraticEquationWrap()
2875 return APInt(CoeffWidth, 0); in SolveQuadraticEquationWrap()
2927 APInt R = APInt::getOneBitSet(CoeffWidth, RangeWidth); in SolveQuadraticEquationWrap()
2928 APInt TwoA = 2 * A; in SolveQuadraticEquationWrap()
2929 APInt SqrB = B * B; in SolveQuadraticEquationWrap()
2932 auto RoundUp = [] (const APInt &V, const APInt &A) -> APInt { in SolveQuadraticEquationWrap()
2934 APInt T = V.abs().urem(A); in SolveQuadraticEquationWrap()
2957 APInt LowkR = C - SqrB.udiv(2*TwoA); // udiv because all values > 0. in SolveQuadraticEquationWrap()
2989 APInt D = SqrB - 4*A*C; in SolveQuadraticEquationWrap()
2991 APInt SQ = D.sqrt(); in SolveQuadraticEquationWrap()
2993 APInt Q = SQ * SQ; in SolveQuadraticEquationWrap()
3000 APInt X; in SolveQuadraticEquationWrap()
3001 APInt Rem; in SolveQuadraticEquationWrap()
3010 APInt::sdivrem(-B - (SQ+InexactSQ), TwoA, X, Rem); in SolveQuadraticEquationWrap()
3012 APInt::sdivrem(-B + SQ, TwoA, X, Rem); in SolveQuadraticEquationWrap()
3033 APInt VX = (A*X + B)*X + C; in SolveQuadraticEquationWrap()
3034 APInt VY = VX + TwoA*X + A + B; in SolveQuadraticEquationWrap()
3051 llvm::APIntOps::GetMostSignificantDifferentBit(const APInt &A, const APInt &B) { in GetMostSignificantDifferentBit()
3060 void llvm::StoreIntToMemory(const APInt &IntVal, uint8_t *Dst, in StoreIntToMemory()
3086 void llvm::LoadIntFromMemory(APInt &IntVal, const uint8_t *Src, in LoadIntFromMemory()