class APInt

Declaration

class APInt { /* full declaration omitted */ };

Description

Class for arbitrary precision integers. APInt is a functional replacement for common case unsigned integer type like "unsigned", "unsigned long" or "uint64_t", but also allows non-byte-width integer sizes and large integer value types such as 3-bits, 15-bits, or more than 64-bits of precision. APInt provides a variety of arithmetic operators and methods to manipulate integer values of any bit-width. It supports both the typical integer arithmetic and comparison operations as well as bitwise manipulation. The class has several invariants worth noting: * All bit, byte, and word positions are zero-based. * Once the bit width is set, it doesn't change except by the Truncate, SignExtend, or ZeroExtend operations. * All binary operators must be on APInt instances of the same bit width. Attempting to use these operators on instances with different bit widths will yield an assertion. * The value is stored canonically as an unsigned value. For operations where it makes a difference, there are both signed and unsigned variants of the operation. For example, sdiv and udiv. However, because the bit widths must be the same, operations such as Mul and Add produce the same results regardless of whether the values are interpreted as signed or not. * In general, the class tries to follow the style of computation that LLVM uses in its IR. This simplifies its use for LLVM.

Declared at: llvm/include/llvm/ADT/APInt.h:69

Member Variables

public static const llvm::APInt::WordType WORDTYPE_MAX = ~unsigned long(0)

Method Overview

  • public APInt(unsigned int numBits, ArrayRef<uint64_t> bigVal)
  • public APInt(unsigned int numBits, unsigned int numWords, const uint64_t * bigVal)
  • public APInt(unsigned int numBits, llvm::StringRef str, uint8_t radix)
  • public APInt(const llvm::APInt & that)
  • public APInt(llvm::APInt && that)
  • public APInt(unsigned int numBits, uint64_t val, bool isSigned = false)
  • public APInt()
  • public void Profile(llvm::FoldingSetNodeID & id) const
  • public llvm::APInt abs() const
  • public llvm::APInt ashr(unsigned int ShiftAmt) const
  • public llvm::APInt ashr(const llvm::APInt & ShiftAmt) const
  • public void ashrInPlace(unsigned int ShiftAmt)
  • public void ashrInPlace(const llvm::APInt & shiftAmt)
  • public double bitsToDouble() const
  • public float bitsToFloat() const
  • public llvm::APInt byteSwap() const
  • public unsigned int ceilLogBase2() const
  • public void clearAllBits()
  • public void clearBit(unsigned int BitPosition)
  • public void clearLowBits(unsigned int loBits)
  • public void clearSignBit()
  • public unsigned int countLeadingOnes() const
  • public unsigned int countLeadingZeros() const
  • public unsigned int countPopulation() const
  • public unsigned int countTrailingOnes() const
  • public unsigned int countTrailingZeros() const
  • public static llvm::APInt doubleToBits(double V)
  • public void dump() const
  • public bool eq(const llvm::APInt & RHS) const
  • public int32_t exactLogBase2() const
  • public llvm::APInt extractBits(unsigned int numBits, unsigned int bitPosition) const
  • public uint64_t extractBitsAsZExtValue(unsigned int numBits, unsigned int bitPosition) const
  • public void flipAllBits()
  • public void flipBit(unsigned int bitPosition)
  • public static llvm::APInt floatToBits(float V)
  • public unsigned int getActiveBits() const
  • public unsigned int getActiveWords() const
  • public static llvm::APInt getAllOnesValue(unsigned int numBits)
  • public unsigned int getBitWidth() const
  • public static unsigned int getBitsNeeded(llvm::StringRef str, uint8_t radix)
  • public static llvm::APInt getBitsSet(unsigned int numBits, unsigned int loBit, unsigned int hiBit)
  • public static llvm::APInt getBitsSetFrom(unsigned int numBits, unsigned int loBit)
  • public static llvm::APInt getBitsSetWithWrap(unsigned int numBits, unsigned int loBit, unsigned int hiBit)
  • public bool getBoolValue() const
  • public llvm::APInt getHiBits(unsigned int numBits) const
  • public static llvm::APInt getHighBitsSet(unsigned int numBits, unsigned int hiBitsSet)
  • public uint64_t getLimitedValue(uint64_t Limit = (18446744073709551615UL)) const
  • public llvm::APInt getLoBits(unsigned int numBits) const
  • public static llvm::APInt getLowBitsSet(unsigned int numBits, unsigned int loBitsSet)
  • public static llvm::APInt getMaxValue(unsigned int numBits)
  • public unsigned int getMinSignedBits() const
  • public static llvm::APInt getMinValue(unsigned int numBits)
  • public static llvm::APInt getNullValue(unsigned int numBits)
  • public unsigned int getNumSignBits() const
  • public static unsigned int getNumWords(unsigned int BitWidth)
  • public unsigned int getNumWords() const
  • public static llvm::APInt getOneBitSet(unsigned int numBits, unsigned int BitNo)
  • public const uint64_t * getRawData() const
  • public int64_t getSExtValue() const
  • public static llvm::APInt getSignMask(unsigned int BitWidth)
  • public static llvm::APInt getSignedMaxValue(unsigned int numBits)
  • public static llvm::APInt getSignedMinValue(unsigned int numBits)
  • public static llvm::APInt getSplat(unsigned int NewLen, const llvm::APInt & V)
  • public uint64_t getZExtValue() const
  • public void insertBits(const llvm::APInt & SubBits, unsigned int bitPosition)
  • public void insertBits(uint64_t SubBits, unsigned int bitPosition, unsigned int numBits)
  • public bool intersects(const llvm::APInt & RHS) const
  • public bool isAllOnesValue() const
  • public bool isIntN(unsigned int N) const
  • public bool isMask(unsigned int numBits) const
  • public bool isMask() const
  • public bool isMaxSignedValue() const
  • public bool isMaxValue() const
  • public bool isMinSignedValue() const
  • public bool isMinValue() const
  • public bool isNegative() const
  • public bool isNonNegative() const
  • public bool isNonPositive() const
  • public bool isNullValue() const
  • public bool isOneValue() const
  • public bool isPowerOf2() const
  • public static bool isSameValue(const llvm::APInt & I1, const llvm::APInt & I2)
  • public bool isShiftedMask() const
  • public bool isSignBitClear() const
  • public bool isSignBitSet() const
  • public bool isSignMask() const
  • public bool isSignedIntN(unsigned int N) const
  • public bool isSplat(unsigned int SplatSizeInBits) const
  • public bool isStrictlyPositive() const
  • public bool isSubsetOf(const llvm::APInt & RHS) const
  • public unsigned int logBase2() const
  • public llvm::APInt lshr(unsigned int shiftAmt) const
  • public llvm::APInt lshr(const llvm::APInt & ShiftAmt) const
  • public void lshrInPlace(unsigned int ShiftAmt)
  • public void lshrInPlace(const llvm::APInt & ShiftAmt)
  • public llvm::APInt::ms magic() const
  • public llvm::APInt::mu magicu(unsigned int LeadingZeros = 0) const
  • public llvm::APInt multiplicativeInverse(const llvm::APInt & modulo) const
  • public bool ne(const llvm::APInt & RHS) const
  • public unsigned int nearestLogBase2() const
  • public bool needsCleanup() const
  • public void negate()
  • public void print(llvm::raw_ostream & OS, bool isSigned) const
  • public llvm::APInt reverseBits() const
  • public llvm::APInt rotl(unsigned int rotateAmt) const
  • public llvm::APInt rotl(const llvm::APInt & rotateAmt) const
  • public llvm::APInt rotr(unsigned int rotateAmt) const
  • public llvm::APInt rotr(const llvm::APInt & rotateAmt) const
  • public double roundToDouble() const
  • public double roundToDouble(bool isSigned) const
  • public llvm::APInt sadd_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public llvm::APInt sadd_sat(const llvm::APInt & RHS) const
  • public llvm::APInt sdiv(int64_t RHS) const
  • public llvm::APInt sdiv(const llvm::APInt & RHS) const
  • public llvm::APInt sdiv_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public static void sdivrem(const llvm::APInt & LHS, int64_t RHS, llvm::APInt & Quotient, int64_t & Remainder)
  • public static void sdivrem(const llvm::APInt & LHS, const llvm::APInt & RHS, llvm::APInt & Quotient, llvm::APInt & Remainder)
  • public void setAllBits()
  • public void setBit(unsigned int BitPosition)
  • public void setBits(unsigned int loBit, unsigned int hiBit)
  • public void setBitsFrom(unsigned int loBit)
  • public void setBitsWithWrap(unsigned int loBit, unsigned int hiBit)
  • public void setHighBits(unsigned int hiBits)
  • public void setLowBits(unsigned int loBits)
  • public void setSignBit()
  • public llvm::APInt sext(unsigned int width) const
  • public llvm::APInt sextOrSelf(unsigned int width) const
  • public llvm::APInt sextOrTrunc(unsigned int width) const
  • public bool sge(const llvm::APInt & RHS) const
  • public bool sge(int64_t RHS) const
  • public bool sgt(const llvm::APInt & RHS) const
  • public bool sgt(int64_t RHS) const
  • public llvm::APInt shl(unsigned int shiftAmt) const
  • public llvm::APInt shl(const llvm::APInt & ShiftAmt) const
  • public double signedRoundToDouble() const
  • public bool sle(uint64_t RHS) const
  • public bool sle(const llvm::APInt & RHS) const
  • public bool slt(const llvm::APInt & RHS) const
  • public bool slt(int64_t RHS) const
  • public llvm::APInt smul_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public llvm::APInt smul_sat(const llvm::APInt & RHS) const
  • public llvm::APInt sqrt() const
  • public int64_t srem(int64_t RHS) const
  • public llvm::APInt srem(const llvm::APInt & RHS) const
  • public llvm::APInt sshl_ov(const llvm::APInt & Amt, bool & Overflow) const
  • public llvm::APInt sshl_sat(const llvm::APInt & RHS) const
  • public llvm::APInt ssub_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public llvm::APInt ssub_sat(const llvm::APInt & RHS) const
  • public static llvm::APInt::WordType tcAdd(llvm::APInt::WordType *, const llvm::APInt::WordType *, llvm::APInt::WordType carry, unsigned int)
  • public static llvm::APInt::WordType tcAddPart(llvm::APInt::WordType *, llvm::APInt::WordType, unsigned int)
  • public static void tcAnd(llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int)
  • public static void tcAssign(llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int)
  • public static void tcClearBit(llvm::APInt::WordType *, unsigned int bit)
  • public static int tcCompare(const llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int)
  • public static void tcComplement(llvm::APInt::WordType *, unsigned int)
  • public static llvm::APInt::WordType tcDecrement(llvm::APInt::WordType * dst, unsigned int parts)
  • public static int tcDivide(llvm::APInt::WordType * lhs, const llvm::APInt::WordType * rhs, llvm::APInt::WordType * remainder, llvm::APInt::WordType * scratch, unsigned int parts)
  • public static void tcExtract(llvm::APInt::WordType *, unsigned int dstCount, const llvm::APInt::WordType *, unsigned int srcBits, unsigned int srcLSB)
  • public static int tcExtractBit(const llvm::APInt::WordType *, unsigned int bit)
  • public static void tcFullMultiply(llvm::APInt::WordType *, const llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int, unsigned int)
  • public static llvm::APInt::WordType tcIncrement(llvm::APInt::WordType * dst, unsigned int parts)
  • public static bool tcIsZero(const llvm::APInt::WordType *, unsigned int)
  • public static unsigned int tcLSB(const llvm::APInt::WordType *, unsigned int n)
  • public static unsigned int tcMSB(const llvm::APInt::WordType * parts, unsigned int n)
  • public static int tcMultiply(llvm::APInt::WordType *, const llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int)
  • public static int tcMultiplyPart(llvm::APInt::WordType * dst, const llvm::APInt::WordType * src, llvm::APInt::WordType multiplier, llvm::APInt::WordType carry, unsigned int srcParts, unsigned int dstParts, bool add)
  • public static void tcNegate(llvm::APInt::WordType *, unsigned int)
  • public static void tcOr(llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int)
  • public static void tcSet(llvm::APInt::WordType *, llvm::APInt::WordType, unsigned int)
  • public static void tcSetBit(llvm::APInt::WordType *, unsigned int bit)
  • public static void tcSetLeastSignificantBits(llvm::APInt::WordType *, unsigned int, unsigned int bits)
  • public static void tcShiftLeft(llvm::APInt::WordType *, unsigned int Words, unsigned int Count)
  • public static void tcShiftRight(llvm::APInt::WordType *, unsigned int Words, unsigned int Count)
  • public static llvm::APInt::WordType tcSubtract(llvm::APInt::WordType *, const llvm::APInt::WordType *, llvm::APInt::WordType carry, unsigned int)
  • public static llvm::APInt::WordType tcSubtractPart(llvm::APInt::WordType *, llvm::APInt::WordType, unsigned int)
  • public static void tcXor(llvm::APInt::WordType *, const llvm::APInt::WordType *, unsigned int)
  • public std::string toString(unsigned int Radix, bool Signed) const
  • public void toString(SmallVectorImpl<char> & Str, unsigned int Radix, bool Signed, bool formatAsCLiteral = false) const
  • public void toStringSigned(SmallVectorImpl<char> & Str, unsigned int Radix = 10) const
  • public void toStringUnsigned(SmallVectorImpl<char> & Str, unsigned int Radix = 10) const
  • public llvm::APInt trunc(unsigned int width) const
  • public llvm::APInt truncSSat(unsigned int width) const
  • public llvm::APInt truncUSat(unsigned int width) const
  • public llvm::APInt uadd_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public llvm::APInt uadd_sat(const llvm::APInt & RHS) const
  • public llvm::APInt udiv(const llvm::APInt & RHS) const
  • public llvm::APInt udiv(uint64_t RHS) const
  • public static void udivrem(const llvm::APInt & LHS, const llvm::APInt & RHS, llvm::APInt & Quotient, llvm::APInt & Remainder)
  • public static void udivrem(const llvm::APInt & LHS, uint64_t RHS, llvm::APInt & Quotient, uint64_t & Remainder)
  • public bool uge(uint64_t RHS) const
  • public bool uge(const llvm::APInt & RHS) const
  • public bool ugt(uint64_t RHS) const
  • public bool ugt(const llvm::APInt & RHS) const
  • public bool ule(uint64_t RHS) const
  • public bool ule(const llvm::APInt & RHS) const
  • public bool ult(const llvm::APInt & RHS) const
  • public bool ult(uint64_t RHS) const
  • public llvm::APInt umul_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public llvm::APInt umul_sat(const llvm::APInt & RHS) const
  • public llvm::APInt urem(const llvm::APInt & RHS) const
  • public uint64_t urem(uint64_t RHS) const
  • public llvm::APInt ushl_ov(const llvm::APInt & Amt, bool & Overflow) const
  • public llvm::APInt ushl_sat(const llvm::APInt & RHS) const
  • public llvm::APInt usub_ov(const llvm::APInt & RHS, bool & Overflow) const
  • public llvm::APInt usub_sat(const llvm::APInt & RHS) const
  • public llvm::APInt zext(unsigned int width) const
  • public llvm::APInt zextOrSelf(unsigned int width) const
  • public llvm::APInt zextOrTrunc(unsigned int width) const
  • public ~APInt()

Methods

APInt(unsigned int numBits,
      ArrayRef<uint64_t> bigVal)

Description

Construct an APInt of numBits width, initialized as bigVal[]. Note that bigVal.size() can be smaller or larger than the corresponding bit width but any extraneous bits will be dropped.

Declared at: llvm/include/llvm/ADT/APInt.h:295

Parameters

unsigned int numBits
the bit width of the constructed APInt
ArrayRef<uint64_t> bigVal
a sequence of words to form the initial value of the APInt

APInt(unsigned int numBits,
      unsigned int numWords,
      const uint64_t* bigVal)

Description

Equivalent to APInt(numBits, ArrayRef <uint64 _t>(bigVal, numWords)), but deprecated because this constructor is prone to ambiguity with the APInt(unsigned, uint64_t, bool) constructor. If this overload is ever deleted, care should be taken to prevent calls from being incorrectly captured by the APInt(unsigned, uint64_t, bool) constructor.

Declared at: llvm/include/llvm/ADT/APInt.h:304

Parameters

unsigned int numBits
unsigned int numWords
const uint64_t* bigVal

APInt(unsigned int numBits,
      llvm::StringRef str,
      uint8_t radix)

Description

Construct an APInt from a string representation. This constructor interprets the string \p str in the given radix. The interpretation stops when the first character that is not suitable for the radix is encountered, or the end of the string. Acceptable radix values are 2, 8, 10, 16, and 36. It is an error for the value implied by the string to require more bits than numBits.

Declared at: llvm/include/llvm/ADT/APInt.h:317

Parameters

unsigned int numBits
the bit width of the constructed APInt
llvm::StringRef str
the string to be interpreted
uint8_t radix
the radix to use for the conversion

APInt(const llvm::APInt& that)

Description

Simply makes *this a copy of that. Copy Constructor.

Declared at: llvm/include/llvm/ADT/APInt.h:321

Parameters

const llvm::APInt& that

APInt(llvm::APInt&& that)

Description

Move Constructor.

Declared at: llvm/include/llvm/ADT/APInt.h:329

Parameters

llvm::APInt&& that

APInt(unsigned int numBits,
      uint64_t val,
      bool isSigned = false)

Description

Create a new APInt of numBits width, initialized as val. If isSigned is true then val is treated as if it were a signed value (i.e. as an int64_t) and the appropriate sign extension to the bit width will be done. Otherwise, no sign extension occurs (high order bits beyond the range of val are zero filled).

Declared at: llvm/include/llvm/ADT/APInt.h:277

Parameters

unsigned int numBits
the bit width of the constructed APInt
uint64_t val
the initial value of the APInt
bool isSigned = false
how to treat signedness of val

APInt()

Description

Default constructor that creates an uninteresting APInt representing a 1-bit zero value. This is useful for object deserialization (pair this with the static method Read).

Declared at: llvm/include/llvm/ADT/APInt.h:345

void Profile(llvm::FoldingSetNodeID& id) const

Description

Used to insert APInt objects, or objects that contain APInt objects, into FoldingSets.

Declared at: llvm/include/llvm/ADT/APInt.h:352

Parameters

llvm::FoldingSetNodeID& id

llvm::APInt abs() const

Description

Get the absolute value; If *this is < 0 then return -(*this), otherwise *this;

Declared at: llvm/include/llvm/ADT/APInt.h:1857

llvm::APInt ashr(unsigned int ShiftAmt) const

Description

Arithmetic right-shift function. Arithmetic right-shift this APInt by shiftAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:963

Parameters

unsigned int ShiftAmt

llvm::APInt ashr(
    const llvm::APInt& ShiftAmt) const

Description

Arithmetic right-shift function. Arithmetic right-shift this APInt by shiftAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1024

Parameters

const llvm::APInt& ShiftAmt

void ashrInPlace(unsigned int ShiftAmt)

Description

Arithmetic right-shift this APInt by ShiftAmt in place.

Declared at: llvm/include/llvm/ADT/APInt.h:970

Parameters

unsigned int ShiftAmt

void ashrInPlace(const llvm::APInt& shiftAmt)

Description

Arithmetic right-shift this APInt by shiftAmt in place.

Declared at: llvm/include/llvm/ADT/APInt.h:1031

Parameters

const llvm::APInt& shiftAmt

double bitsToDouble() const

Description

Converts APInt bits to a double The conversion does not do a translation from integer to double, it just re-interprets the bits as a double. Note that it is valid to do this on any bit width. Exactly 64 bits will be translated.

Declared at: llvm/include/llvm/ADT/APInt.h:1771

float bitsToFloat() const

Description

Converts APInt bits to a float The conversion does not do a translation from integer to float, it just re-interprets the bits as a float. Note that it is valid to do this on any bit width. Exactly 32 bits will be translated.

Declared at: llvm/include/llvm/ADT/APInt.h:1780

llvm::APInt byteSwap() const

Declared at: llvm/include/llvm/ADT/APInt.h:1751

Returns

a byte-swapped representation of this APInt Value.

unsigned int ceilLogBase2() const

Declared at: llvm/include/llvm/ADT/APInt.h:1808

Returns

the ceil log base 2 of this APInt.

void clearAllBits()

Description

Set every bit to 0.

Declared at: llvm/include/llvm/ADT/APInt.h:1500

void clearBit(unsigned int BitPosition)

Description

Set a given bit to 0. Set the given bit to 0 whose position is given as "bitPosition".

Declared at: llvm/include/llvm/ADT/APInt.h:1510

Parameters

unsigned int BitPosition

void clearLowBits(unsigned int loBits)

Description

Set bottom loBits bits to 0.

Declared at: llvm/include/llvm/ADT/APInt.h:1520

Parameters

unsigned int loBits

void clearSignBit()

Description

Set the sign bit to 0.

Declared at: llvm/include/llvm/ADT/APInt.h:1527

unsigned int countLeadingOnes() const

Description

Count the number of leading one bits. This function is an APInt version of the countLeadingOnes functions in MathExtras.h. It counts the number of ones from the most significant bit to the first zero bit.

Declared at: llvm/include/llvm/ADT/APInt.h:1669

Returns

0 if the high order bit is not set, otherwise returns the number of 1 bits from the most significant to the least

unsigned int countLeadingZeros() const

Description

The APInt version of the countLeadingZeros functions in MathExtras.h. It counts the number of zeros from the most significant bit to the first one bit.

Declared at: llvm/include/llvm/ADT/APInt.h:1653

Returns

BitWidth if the value is zero, otherwise returns the number of zeros from the most significant bit to the first one bits.

unsigned int countPopulation() const

Description

Count the number of bits set. This function is an APInt version of the countPopulation functions in MathExtras.h. It counts the number of 1 bits in the APInt value.

Declared at: llvm/include/llvm/ADT/APInt.h:1715

Returns

0 if the value is zero, otherwise returns the number of set bits.

unsigned int countTrailingOnes() const

Description

Count the number of trailing one bits. This function is an APInt version of the countTrailingOnes functions in MathExtras.h. It counts the number of ones from the least significant bit to the first zero bit.

Declared at: llvm/include/llvm/ADT/APInt.h:1703

Returns

BitWidth if the value is all ones, otherwise returns the number of ones from the least significant bit to the first zero bit.

unsigned int countTrailingZeros() const

Description

Count the number of trailing zero bits. This function is an APInt version of the countTrailingZeros functions in MathExtras.h. It counts the number of zeros from the least significant bit to the first set bit.

Declared at: llvm/include/llvm/ADT/APInt.h:1689

Returns

BitWidth if the value is zero, otherwise returns the number of zeros from the least significant bit to the first one bit.

static llvm::APInt doubleToBits(double V)

Description

Converts a double to APInt bits. The conversion does not do a translation from double to integer, it just re-interprets the bits of the double.

Declared at: llvm/include/llvm/ADT/APInt.h:1788

Parameters

double V

void dump() const

Description

debug method

Declared at: llvm/include/llvm/ADT/APInt.h:2006

bool eq(const llvm::APInt& RHS) const

Description

Equality comparison. Compares this APInt with RHS for the validity of the equality relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1173

Parameters

const llvm::APInt& RHS

Returns

true if *this == Val

int32_t exactLogBase2() const

Declared at: llvm/include/llvm/ADT/APInt.h:1845

Returns

the log base 2 of this APInt if its an exact power of two, -1 otherwise

llvm::APInt extractBits(
    unsigned int numBits,
    unsigned int bitPosition) const

Description

Return an APInt with the extracted bits [bitPosition,bitPosition+numBits).

Declared at: llvm/include/llvm/ADT/APInt.h:1558

Parameters

unsigned int numBits
unsigned int bitPosition

uint64_t extractBitsAsZExtValue(
    unsigned int numBits,
    unsigned int bitPosition) const

Declared at: llvm/include/llvm/ADT/APInt.h:1559

Parameters

unsigned int numBits
unsigned int bitPosition

void flipAllBits()

Description

Toggle every bit to its opposite value.

Declared at: llvm/include/llvm/ADT/APInt.h:1532

void flipBit(unsigned int bitPosition)

Description

Toggles a given bit to its opposite value. Toggle a given bit to its opposite value whose position is given as "bitPosition".

Declared at: llvm/include/llvm/ADT/APInt.h:1545

Parameters

unsigned int bitPosition

static llvm::APInt floatToBits(float V)

Description

Converts a float to APInt bits. The conversion does not do a translation from float to integer, it just re-interprets the bits of the float.

Declared at: llvm/include/llvm/ADT/APInt.h:1796

Parameters

float V

unsigned int getActiveBits() const

Description

Compute the number of active bits in the value This function returns the number of active bits which is defined as the bit width minus the number of leading zeros. This is used in several computations to see how "wide" the value is.

Declared at: llvm/include/llvm/ADT/APInt.h:1590

unsigned int getActiveWords() const

Description

Compute the number of active words in the value of this APInt. This is used in conjunction with getActiveData to extract the raw value of the APInt.

Declared at: llvm/include/llvm/ADT/APInt.h:1596

static llvm::APInt getAllOnesValue(
    unsigned int numBits)

Description

Get the all-ones value.

Declared at: llvm/include/llvm/ADT/APInt.h:566

Parameters

unsigned int numBits

Returns

the all-ones value for an APInt of the specified bit-width.

unsigned int getBitWidth() const

Description

Return the number of bits in the APInt.

Declared at: llvm/include/llvm/ADT/APInt.h:1566

static unsigned int getBitsNeeded(
    llvm::StringRef str,
    uint8_t radix)

Description

Get bits required for string value. This method determines how many bits are required to hold the APInt equivalent of the string given by \p str.

Declared at: llvm/include/llvm/ADT/APInt.h:1643

Parameters

llvm::StringRef str
uint8_t radix

static llvm::APInt getBitsSet(
    unsigned int numBits,
    unsigned int loBit,
    unsigned int hiBit)

Description

Get a value with a block of bits set. Constructs an APInt value that has a contiguous range of bits set. The bits from loBit (inclusive) to hiBit (exclusive) will be set. All other bits will be zero. For example, with parameters(32, 0, 16) you would get 0x0000FFFF. Please call getBitsSetWithWrap if \p loBit may be greater than\p hiBit.

Declared at: llvm/include/llvm/ADT/APInt.h:611

Parameters

unsigned int numBits
the intended bit width of the result
unsigned int loBit
the index of the lowest bit set.
unsigned int hiBit
the index of the highest bit set.

Returns

An APInt value with the requested bits set.

static llvm::APInt getBitsSetFrom(
    unsigned int numBits,
    unsigned int loBit)

Description

Get a value with upper bits starting at loBit set. Constructs an APInt value that has a contiguous range of bits set. The bits from loBit (inclusive) to numBits (exclusive) will be set. All other bits will be zero. For example, with parameters(32, 12) you would get 0xFFFFF000.

Declared at: llvm/include/llvm/ADT/APInt.h:640

Parameters

unsigned int numBits
the intended bit width of the result
unsigned int loBit
the index of the lowest bit to set.

Returns

An APInt value with the requested bits set.

static llvm::APInt getBitsSetWithWrap(
    unsigned int numBits,
    unsigned int loBit,
    unsigned int hiBit)

Description

Wrap version of getBitsSet. If \p hiBit is no less than \p loBit, this is same with getBitsSet. If \p hiBit is less than \p loBit, the set bits "wrap". For example, with parameters (32, 28, 4), you would get 0xF000000F.

Declared at: llvm/include/llvm/ADT/APInt.h:622

Parameters

unsigned int numBits
unsigned int loBit
unsigned int hiBit

bool getBoolValue() const

Description

Convert APInt to a boolean value. This converts the APInt to a boolean value as a test against zero.

Declared at: llvm/include/llvm/ADT/APInt.h:482

llvm::APInt getHiBits(unsigned int numBits) const

Description

Compute an APInt containing numBits highbits from this APInt. Get an APInt with the same BitWidth as this APInt, just zero mask the low bits and right shift to the least significant bit.

Declared at: llvm/include/llvm/ADT/APInt.h:581

Parameters

unsigned int numBits

Returns

the high "numBits" bits of this APInt.

static llvm::APInt getHighBitsSet(
    unsigned int numBits,
    unsigned int hiBitsSet)

Description

Get a value with high bits set Constructs an APInt value that has the top hiBitsSet bits set.

Declared at: llvm/include/llvm/ADT/APInt.h:652

Parameters

unsigned int numBits
the bitwidth of the result
unsigned int hiBitsSet
the number of high-order bits set in the result.

uint64_t getLimitedValue(
    uint64_t Limit =
        (18446744073709551615UL)) const

Description

If this value is smaller than the specified limit, return it, otherwise return the limit value. This causes the value to saturate to the limit.

Declared at: llvm/include/llvm/ADT/APInt.h:486

Parameters

uint64_t Limit = (18446744073709551615UL)

llvm::APInt getLoBits(unsigned int numBits) const

Description

Compute an APInt containing numBits lowbits from this APInt. Get an APInt with the same BitWidth as this APInt, just zero mask the high bits.

Declared at: llvm/include/llvm/ADT/APInt.h:589

Parameters

unsigned int numBits

Returns

the low "numBits" bits of this APInt.

static llvm::APInt getLowBitsSet(
    unsigned int numBits,
    unsigned int loBitsSet)

Description

Get a value with low bits set Constructs an APInt value that has the bottom loBitsSet bits set.

Declared at: llvm/include/llvm/ADT/APInt.h:664

Parameters

unsigned int numBits
the bitwidth of the result
unsigned int loBitsSet
the number of low-order bits set in the result.

static llvm::APInt getMaxValue(
    unsigned int numBits)

Description

Gets maximum unsigned value of APInt for specific bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:534

Parameters

unsigned int numBits

unsigned int getMinSignedBits() const

Description

Get the minimum bit size for this signed APInt Computes the minimum bit width for this APInt while considering it to be a signed (and probably negative) value. If the value is not negative, this function returns the same value as getActiveBits()+1. Otherwise, it returns the smallest bit width that will retain the negative value. For example, -1 can be written as 0b1 or 0xFFFFFFFFFF. 0b1 is shorter and so for -1, this function will always return 1.

Declared at: llvm/include/llvm/ADT/APInt.h:1609

static llvm::APInt getMinValue(
    unsigned int numBits)

Description

Gets minimum unsigned value of APInt for a specific bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:546

Parameters

unsigned int numBits

static llvm::APInt getNullValue(
    unsigned int numBits)

Description

Get the '0' value.

Declared at: llvm/include/llvm/ADT/APInt.h:573

Parameters

unsigned int numBits

Returns

the '0' value for an APInt of the specified bit-width.

unsigned int getNumSignBits() const

Description

Computes the number of leading bits of this APInt that are equal to its sign bit.

Declared at: llvm/include/llvm/ADT/APInt.h:1677

static unsigned int getNumWords(
    unsigned int BitWidth)

Description

Get the number of words. *NOTE* Here one word's bitwidth equals to that of uint64_t.

Declared at: llvm/include/llvm/ADT/APInt.h:1581

Parameters

unsigned int BitWidth

Returns

the number of words to hold the integer value with a given bit width.

unsigned int getNumWords() const

Description

Get the number of words. Here one word's bitwidth equals to that of uint64_t.

Declared at: llvm/include/llvm/ADT/APInt.h:1573

Returns

the number of words to hold the integer value of this APInt.

static llvm::APInt getOneBitSet(
    unsigned int numBits,
    unsigned int BitNo)

Description

Return an APInt with exactly one bit set in the result.

Declared at: llvm/include/llvm/ADT/APInt.h:592

Parameters

unsigned int numBits
unsigned int BitNo

const uint64_t* getRawData() const

Description

This function returns a pointer to the internal storage of the APInt. This is useful for writing out the APInt in binary form without any conversions.

Declared at: llvm/include/llvm/ADT/APInt.h:691

int64_t getSExtValue() const

Description

Get sign extended value This method attempts to return the value of this APInt as a sign extended int64_t. The bit width must be < = 64 or the value must fit within an int64_t. Otherwise an assertion will result.

Declared at: llvm/include/llvm/ADT/APInt.h:1632

static llvm::APInt getSignMask(
    unsigned int BitWidth)

Description

Get the SignMask for a specific bit width. This is just a wrapper function of getSignedMinValue(), and it helps code readability when we want to get a SignMask.

Declared at: llvm/include/llvm/ADT/APInt.h:559

Parameters

unsigned int BitWidth

static llvm::APInt getSignedMaxValue(
    unsigned int numBits)

Description

Gets maximum signed value of APInt for a specific bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:539

Parameters

unsigned int numBits

static llvm::APInt getSignedMinValue(
    unsigned int numBits)

Description

Gets minimum signed value of APInt for a specific bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:549

Parameters

unsigned int numBits

static llvm::APInt getSplat(unsigned int NewLen,
                            const llvm::APInt& V)

Description

Return a value containing V broadcasted over NewLen bits.

Declared at: llvm/include/llvm/ADT/APInt.h:671

Parameters

unsigned int NewLen
const llvm::APInt& V

uint64_t getZExtValue() const

Description

Get zero extended value This method attempts to return the value of this APInt as a zero extended uint64_t. The bitwidth must be < = 64 or the value must fit within a uint64_t. Otherwise an assertion will result.

Declared at: llvm/include/llvm/ADT/APInt.h:1620

void insertBits(const llvm::APInt& SubBits,
                unsigned int bitPosition)

Description

Insert the bits from a smaller APInt starting at bitPosition.

Declared at: llvm/include/llvm/ADT/APInt.h:1554

Parameters

const llvm::APInt& SubBits
unsigned int bitPosition

void insertBits(uint64_t SubBits,
                unsigned int bitPosition,
                unsigned int numBits)

Declared at: llvm/include/llvm/ADT/APInt.h:1555

Parameters

uint64_t SubBits
unsigned int bitPosition
unsigned int numBits

bool intersects(const llvm::APInt& RHS) const

Description

This operation tests if there are any pairs of corresponding bits between this APInt and RHS that are both set.

Declared at: llvm/include/llvm/ADT/APInt.h:1341

Parameters

const llvm::APInt& RHS

bool isAllOnesValue() const

Description

Determine if all bits are set This checks to see if the value has all bits of the APInt are set or not.

Declared at: llvm/include/llvm/ADT/APInt.h:400

bool isIntN(unsigned int N) const

Description

Check if this APInt has an N-bits unsigned integer value.

Declared at: llvm/include/llvm/ADT/APInt.h:454

Parameters

unsigned int N

bool isMask(unsigned int numBits) const

Declared at: llvm/include/llvm/ADT/APInt.h:499

Parameters

unsigned int numBits
ones starting at the least significant bit with the remainder zero.

Returns

true if this APInt value is a sequence of

bool isMask() const

Declared at: llvm/include/llvm/ADT/APInt.h:512

Returns

true if this APInt is a non-empty sequence of ones starting at the least significant bit with the remainder zero. Ex. isMask(0x0000FFFFU) == true.

bool isMaxSignedValue() const

Description

Determine if this is the largest signed value. This checks to see if the value of this APInt is the maximum signed value for the APInt's bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:431

bool isMaxValue() const

Description

Determine if this is the largest unsigned value. This checks to see if the value of this APInt is the maximum unsigned value for the APInt's bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:425

bool isMinSignedValue() const

Description

Determine if this is the smallest signed value. This checks to see if the value of this APInt is the minimum signed value for the APInt's bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:447

bool isMinValue() const

Description

Determine if this is the smallest unsigned value. This checks to see if the value of this APInt is the minimum unsigned value for the APInt's bit width.

Declared at: llvm/include/llvm/ADT/APInt.h:441

bool isNegative() const

Description

Determine sign of this APInt. This tests the high bit of this APInt to determine if it is set.

Declared at: llvm/include/llvm/ADT/APInt.h:363

Returns

true if this APInt is negative, false otherwise

bool isNonNegative() const

Description

Determine if this APInt Value is non-negative (>= 0) This tests the high bit of the APInt to determine if it is unset.

Declared at: llvm/include/llvm/ADT/APInt.h:368

bool isNonPositive() const

Description

Determine if this APInt Value is non-positive ( < = 0).

Declared at: llvm/include/llvm/ADT/APInt.h:395

Returns

true if this APInt is non-positive.

bool isNullValue() const

Description

Determine if all bits are clear This checks to see if the value has all bits of the APInt are clear or not.

Declared at: llvm/include/llvm/ADT/APInt.h:410

bool isOneValue() const

Description

Determine if this is a value of 1. This checks to see if the value of this APInt is one.

Declared at: llvm/include/llvm/ADT/APInt.h:415

bool isPowerOf2() const

Description

Check if this APInt's value is a power of two greater than zero.

Declared at: llvm/include/llvm/ADT/APInt.h:468

Returns

true if the argument APInt value is a power of two > 0.

static bool isSameValue(const llvm::APInt& I1,
                        const llvm::APInt& I2)

Description

Determine if two APInts have the same value, after zero-extending one of them (if needed!) to ensure that the bit-widths match.

Declared at: llvm/include/llvm/ADT/APInt.h:675

Parameters

const llvm::APInt& I1
const llvm::APInt& I2

bool isShiftedMask() const

Description

Return true if this APInt value contains a sequence of ones with the remainder zero.

Declared at: llvm/include/llvm/ADT/APInt.h:521

bool isSignBitClear() const

Description

Determine if sign bit of this APInt is clear. This tests the high bit of this APInt to determine if it is clear.

Declared at: llvm/include/llvm/ADT/APInt.h:382

Returns

true if this APInt has its sign bit clear, false otherwise.

bool isSignBitSet() const

Description

Determine if sign bit of this APInt is set. This tests the high bit of this APInt to determine if it is set.

Declared at: llvm/include/llvm/ADT/APInt.h:375

Returns

true if this APInt has its sign bit set, false otherwise.

bool isSignMask() const

Description

Check if the APInt's value is returned by getSignMask.

Declared at: llvm/include/llvm/ADT/APInt.h:477

Returns

true if this is the value returned by getSignMask.

bool isSignedIntN(unsigned int N) const

Description

Check if this APInt has an N-bits signed integer value.

Declared at: llvm/include/llvm/ADT/APInt.h:460

Parameters

unsigned int N

bool isSplat(unsigned int SplatSizeInBits) const

Description

Check if the APInt consists of a repeated bit pattern. e.g. 0x01010101 satisfies isSplat(8).

Declared at: llvm/include/llvm/ADT/APInt.h:495

Parameters

unsigned int SplatSizeInBits
The size of the pattern in bits. Must divide bit width without remainder.

bool isStrictlyPositive() const

Description

Determine if this APInt Value is positive. This tests if the value of this APInt is positive (> 0). Note that 0 is not a positive value.

Declared at: llvm/include/llvm/ADT/APInt.h:390

Returns

true if this APInt is positive.

bool isSubsetOf(const llvm::APInt& RHS) const

Description

This operation checks that all bits set in this APInt are also set in RHS.

Declared at: llvm/include/llvm/ADT/APInt.h:1349

Parameters

const llvm::APInt& RHS

unsigned int logBase2() const

Declared at: llvm/include/llvm/ADT/APInt.h:1805

Returns

the floor log base 2 of this APInt.

llvm::APInt lshr(unsigned int shiftAmt) const

Description

Logical right-shift function. Logical right-shift this APInt by shiftAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:987

Parameters

unsigned int shiftAmt

llvm::APInt lshr(
    const llvm::APInt& ShiftAmt) const

Description

Logical right-shift function. Logical right-shift this APInt by shiftAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1036

Parameters

const llvm::APInt& ShiftAmt

void lshrInPlace(unsigned int ShiftAmt)

Description

Logical right-shift this APInt by ShiftAmt in place.

Declared at: llvm/include/llvm/ADT/APInt.h:994

Parameters

unsigned int ShiftAmt

void lshrInPlace(const llvm::APInt& ShiftAmt)

Description

Logical right-shift this APInt by ShiftAmt in place.

Declared at: llvm/include/llvm/ADT/APInt.h:1043

Parameters

const llvm::APInt& ShiftAmt

llvm::APInt::ms magic() const

Declared at: llvm/include/llvm/ADT/APInt.h:1872

llvm::APInt::mu magicu(
    unsigned int LeadingZeros = 0) const

Declared at: llvm/include/llvm/ADT/APInt.h:1876

Parameters

unsigned int LeadingZeros = 0

llvm::APInt multiplicativeInverse(
    const llvm::APInt& modulo) const

Declared at: llvm/include/llvm/ADT/APInt.h:1864

Parameters

const llvm::APInt& modulo

Returns

the multiplicative inverse for a given modulo.

bool ne(const llvm::APInt& RHS) const

Description

Inequality comparison Compares this APInt with RHS for the validity of the inequality relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1197

Parameters

const llvm::APInt& RHS

Returns

true if *this != Val

unsigned int nearestLogBase2() const

Description

NOTE: When we have a BitWidth of 1, we define: log2(0) = UINT32_MAX log2(1) = 0 to get around any mathematical concerns resulting from referencing 2 in a space where 2 does no exist.

Declared at: llvm/include/llvm/ADT/APInt.h:1823

Returns

the nearest log base 2 of this APInt. Ties round up.

bool needsCleanup() const

Description

Returns whether this instance allocated memory.

Declared at: llvm/include/llvm/ADT/APInt.h:348

void negate()

Description

Negate this APInt in place.

Declared at: llvm/include/llvm/ADT/APInt.h:1548

void print(llvm::raw_ostream& OS,
           bool isSigned) const

Description

@ } @ {

Declared at: llvm/include/llvm/ADT/APInt.h:1724

Parameters

llvm::raw_ostream& OS
bool isSigned

llvm::APInt reverseBits() const

Declared at: llvm/include/llvm/ADT/APInt.h:1755

Returns

the value with the bit representation reversed of this APInt Value.

llvm::APInt rotl(unsigned int rotateAmt) const

Description

Rotate left by rotateAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1016

Parameters

unsigned int rotateAmt

llvm::APInt rotl(
    const llvm::APInt& rotateAmt) const

Description

Rotate left by rotateAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1055

Parameters

const llvm::APInt& rotateAmt

llvm::APInt rotr(unsigned int rotateAmt) const

Description

Rotate right by rotateAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1019

Parameters

unsigned int rotateAmt

llvm::APInt rotr(
    const llvm::APInt& rotateAmt) const

Description

Rotate right by rotateAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1058

Parameters

const llvm::APInt& rotateAmt

double roundToDouble() const

Description

Converts this unsigned APInt to a double value.

Declared at: llvm/include/llvm/ADT/APInt.h:1761

double roundToDouble(bool isSigned) const

Description

Converts this APInt to a double value.

Declared at: llvm/include/llvm/ADT/APInt.h:1758

Parameters

bool isSigned

llvm::APInt sadd_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1114

Parameters

const llvm::APInt& RHS
bool& Overflow

llvm::APInt sadd_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1125

Parameters

const llvm::APInt& RHS

llvm::APInt sdiv(int64_t RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1076

Parameters

int64_t RHS

llvm::APInt sdiv(const llvm::APInt& RHS) const

Description

Signed division function for APInt. Signed divide this APInt by APInt RHS. The result is rounded towards zero.

Declared at: llvm/include/llvm/ADT/APInt.h:1075

Parameters

const llvm::APInt& RHS

llvm::APInt sdiv_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1118

Parameters

const llvm::APInt& RHS
bool& Overflow

static void sdivrem(const llvm::APInt& LHS,
                    int64_t RHS,
                    llvm::APInt& Quotient,
                    int64_t& Remainder)

Declared at: llvm/include/llvm/ADT/APInt.h:1110

Parameters

const llvm::APInt& LHS
int64_t RHS
llvm::APInt& Quotient
int64_t& Remainder

static void sdivrem(const llvm::APInt& LHS,
                    const llvm::APInt& RHS,
                    llvm::APInt& Quotient,
                    llvm::APInt& Remainder)

Declared at: llvm/include/llvm/ADT/APInt.h:1108

Parameters

const llvm::APInt& LHS
const llvm::APInt& RHS
llvm::APInt& Quotient
llvm::APInt& Remainder

void setAllBits()

Description

Set every bit to 1.

Declared at: llvm/include/llvm/ADT/APInt.h:1423

void setBit(unsigned int BitPosition)

Description

Set a given bit to 1. Set the given bit to 1 whose position is given as "bitPosition".

Declared at: llvm/include/llvm/ADT/APInt.h:1436

Parameters

unsigned int BitPosition

void setBits(unsigned int loBit,
             unsigned int hiBit)

Description

Set the bits from loBit (inclusive) to hiBit (exclusive) to 1. This function handles case when \p loBit < = \p hiBit.

Declared at: llvm/include/llvm/ADT/APInt.h:1466

Parameters

unsigned int loBit
unsigned int hiBit

void setBitsFrom(unsigned int loBit)

Description

Set the top bits starting from loBit.

Declared at: llvm/include/llvm/ADT/APInt.h:1485

Parameters

unsigned int loBit

void setBitsWithWrap(unsigned int loBit,
                     unsigned int hiBit)

Description

Set the bits from loBit (inclusive) to hiBit (exclusive) to 1. This function handles "wrap" case when \p loBit > \p hiBit, and calls setBits when \p loBit < = \p hiBit.

Declared at: llvm/include/llvm/ADT/APInt.h:1453

Parameters

unsigned int loBit
unsigned int hiBit

void setHighBits(unsigned int hiBits)

Description

Set the top hiBits bits.

Declared at: llvm/include/llvm/ADT/APInt.h:1495

Parameters

unsigned int hiBits

void setLowBits(unsigned int loBits)

Description

Set the bottom loBits bits.

Declared at: llvm/include/llvm/ADT/APInt.h:1490

Parameters

unsigned int loBits

void setSignBit()

Description

Set the sign bit to 1.

Declared at: llvm/include/llvm/ADT/APInt.h:1446

llvm::APInt sext(unsigned int width) const

Description

Sign extend to a new width. This operation sign extends the APInt to a new width. If the high order bit is set, the fill on the left will be done with 1 bits, otherwise zero. It is an error to specify a width that is less than or equal to the current width.

Declared at: llvm/include/llvm/ADT/APInt.h:1385

Parameters

unsigned int width

llvm::APInt sextOrSelf(unsigned int width) const

Description

Sign extend or truncate to width Make this APInt have the bit width given by \p width. The value is sign extended, or left alone to make it that width.

Declared at: llvm/include/llvm/ADT/APInt.h:1410

Parameters

unsigned int width

llvm::APInt sextOrTrunc(unsigned int width) const

Description

Sign extend or truncate to width Make this APInt have the bit width given by \p width. The value is sign extended, truncated, or left alone to make it that width.

Declared at: llvm/include/llvm/ADT/APInt.h:1398

Parameters

unsigned int width

bool sge(const llvm::APInt& RHS) const

Description

Signed greater or equal comparison Regards both *this and RHS as signed quantities and compares them for validity of the greater-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1329

Parameters

const llvm::APInt& RHS

Returns

true if *this >= RHS when both are considered signed.

bool sge(int64_t RHS) const

Description

Signed greater or equal comparison Regards both *this as a signed quantity and compares it with RHS for the validity of the greater-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1337

Parameters

int64_t RHS

Returns

true if *this >= RHS when considered signed.

bool sgt(const llvm::APInt& RHS) const

Description

Signed greater than comparison Regards both *this and RHS as signed quantities and compares them for the validity of the greater-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1294

Parameters

const llvm::APInt& RHS

Returns

true if *this > RHS when both are considered signed.

bool sgt(int64_t RHS) const

Description

Signed greater than comparison Regards both *this as a signed quantity and compares it with RHS for the validity of the greater-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1302

Parameters

int64_t RHS

Returns

true if *this > RHS when considered signed.

llvm::APInt shl(unsigned int shiftAmt) const

Description

Left-shift function. Left-shift this APInt by shiftAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1009

Parameters

unsigned int shiftAmt

llvm::APInt shl(const llvm::APInt& ShiftAmt) const

Description

Left-shift function. Left-shift this APInt by shiftAmt.

Declared at: llvm/include/llvm/ADT/APInt.h:1048

Parameters

const llvm::APInt& ShiftAmt

double signedRoundToDouble() const

Description

Converts this signed APInt to a double value.

Declared at: llvm/include/llvm/ADT/APInt.h:1764

bool sle(uint64_t RHS) const

Description

Signed less or equal comparison Regards both *this as a signed quantity and compares it with RHS for the validity of the less-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1267

Parameters

uint64_t RHS

Returns

true if *this < = RHS when considered signed.

bool sle(const llvm::APInt& RHS) const

Description

Signed less or equal comparison Regards both *this and RHS as signed quantities and compares them for validity of the less-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1259

Parameters

const llvm::APInt& RHS

Returns

true if *this < = RHS when both are considered signed.

bool slt(const llvm::APInt& RHS) const

Description

Signed less than comparison Regards both *this and RHS as signed quantities and compares them for validity of the less-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1224

Parameters

const llvm::APInt& RHS

Returns

true if *this < RHS when both are considered signed.

bool slt(int64_t RHS) const

Description

Signed less than comparison Regards both *this as a signed quantity and compares it with RHS for the validity of the less-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1232

Parameters

int64_t RHS

Returns

true if *this < RHS when considered signed.

llvm::APInt smul_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1119

Parameters

const llvm::APInt& RHS
bool& Overflow

llvm::APInt smul_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1129

Parameters

const llvm::APInt& RHS

llvm::APInt sqrt() const

Description

Compute the square root

Declared at: llvm/include/llvm/ADT/APInt.h:1852

int64_t srem(int64_t RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1094

Parameters

int64_t RHS

llvm::APInt srem(const llvm::APInt& RHS) const

Description

Function for signed remainder operation. Signed remainder operation on APInt.

Declared at: llvm/include/llvm/ADT/APInt.h:1093

Parameters

const llvm::APInt& RHS

llvm::APInt sshl_ov(const llvm::APInt& Amt,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1121

Parameters

const llvm::APInt& Amt
bool& Overflow

llvm::APInt sshl_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1131

Parameters

const llvm::APInt& RHS

llvm::APInt ssub_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1116

Parameters

const llvm::APInt& RHS
bool& Overflow

llvm::APInt ssub_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1127

Parameters

const llvm::APInt& RHS

static llvm::APInt::WordType tcAdd(
    llvm::APInt::WordType*,
    const llvm::APInt::WordType*,
    llvm::APInt::WordType carry,
    unsigned int)

Description

DST += RHS + CARRY where CARRY is zero or one. Returns the carry flag.

Declared at: llvm/include/llvm/ADT/APInt.h:1924

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
llvm::APInt::WordType carry
unsigned int

static llvm::APInt::WordType tcAddPart(
    llvm::APInt::WordType*,
    llvm::APInt::WordType,
    unsigned int)

Description

DST += RHS. Returns the carry flag.

Declared at: llvm/include/llvm/ADT/APInt.h:1927

Parameters

llvm::APInt::WordType*
llvm::APInt::WordType
unsigned int

static void tcAnd(llvm::APInt::WordType*,
                  const llvm::APInt::WordType*,
                  unsigned int)

Description

The obvious AND, OR and XOR and complement operations.

Declared at: llvm/include/llvm/ADT/APInt.h:1984

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int

static void tcAssign(llvm::APInt::WordType*,
                     const llvm::APInt::WordType*,
                     unsigned int)

Description

Assign one bignum to another.

Declared at: llvm/include/llvm/ADT/APInt.h:1893

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int

static void tcClearBit(llvm::APInt::WordType*,
                       unsigned int bit)

Description

Clear the given bit of a bignum. Zero-based.

Declared at: llvm/include/llvm/ADT/APInt.h:1913

Parameters

llvm::APInt::WordType*
unsigned int bit

static int tcCompare(const llvm::APInt::WordType*,
                     const llvm::APInt::WordType*,
                     unsigned int)

Description

Comparison (unsigned) of two bignums.

Declared at: llvm/include/llvm/ADT/APInt.h:1990

Parameters

const llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int

static void tcComplement(llvm::APInt::WordType*,
                         unsigned int)

Declared at: llvm/include/llvm/ADT/APInt.h:1987

Parameters

llvm::APInt::WordType*
unsigned int

static llvm::APInt::WordType tcDecrement(
    llvm::APInt::WordType* dst,
    unsigned int parts)

Description

Decrement a bignum in-place. Return the borrow flag.

Declared at: llvm/include/llvm/ADT/APInt.h:1998

Parameters

llvm::APInt::WordType* dst
unsigned int parts

static int tcDivide(
    llvm::APInt::WordType* lhs,
    const llvm::APInt::WordType* rhs,
    llvm::APInt::WordType* remainder,
    llvm::APInt::WordType* scratch,
    unsigned int parts)

Description

If RHS is zero LHS and REMAINDER are left unchanged, return one. Otherwise set LHS to LHS / RHS with the fractional part discarded, set REMAINDER to the remainder, return zero. i.e. OLD_LHS = RHS * LHS + REMAINDER SCRATCH is a bignum of the same size as the operands and result for use by the routine; its contents need not be initialized and are destroyed. LHS, REMAINDER and SCRATCH must be distinct.

Declared at: llvm/include/llvm/ADT/APInt.h:1971

Parameters

llvm::APInt::WordType* lhs
const llvm::APInt::WordType* rhs
llvm::APInt::WordType* remainder
llvm::APInt::WordType* scratch
unsigned int parts

static void tcExtract(
    llvm::APInt::WordType*,
    unsigned int dstCount,
    const llvm::APInt::WordType*,
    unsigned int srcBits,
    unsigned int srcLSB)

Description

Copy the bit vector of width srcBITS from SRC, starting at bit srcLSB, to DST, of dstCOUNT parts, such that the bit srcLSB becomes the least significant bit of DST. All high bits above srcBITS in DST are zero-filled.

Declared at: llvm/include/llvm/ADT/APInt.h:1905

Parameters

llvm::APInt::WordType*
unsigned int dstCount
const llvm::APInt::WordType*
unsigned int srcBits
unsigned int srcLSB

static int tcExtractBit(
    const llvm::APInt::WordType*,
    unsigned int bit)

Description

Extract the given bit of a bignum; returns 0 or 1. Zero-based.

Declared at: llvm/include/llvm/ADT/APInt.h:1899

Parameters

const llvm::APInt::WordType*
unsigned int bit

static void tcFullMultiply(
    llvm::APInt::WordType*,
    const llvm::APInt::WordType*,
    const llvm::APInt::WordType*,
    unsigned int,
    unsigned int)

Description

DST = LHS * RHS, where DST has width the sum of the widths of the operands. No overflow occurs. DST must be disjoint from both operands.

Declared at: llvm/include/llvm/ADT/APInt.h:1959

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int
unsigned int

static llvm::APInt::WordType tcIncrement(
    llvm::APInt::WordType* dst,
    unsigned int parts)

Description

Increment a bignum in-place. Return the carry flag.

Declared at: llvm/include/llvm/ADT/APInt.h:1993

Parameters

llvm::APInt::WordType* dst
unsigned int parts

static bool tcIsZero(const llvm::APInt::WordType*,
                     unsigned int)

Description

Returns true if a bignum is zero, false otherwise.

Declared at: llvm/include/llvm/ADT/APInt.h:1896

Parameters

const llvm::APInt::WordType*
unsigned int

static unsigned int tcLSB(
    const llvm::APInt::WordType*,
    unsigned int n)

Description

Returns the bit number of the least or most significant set bit of a number. If the input number has no bits set -1U is returned.

Declared at: llvm/include/llvm/ADT/APInt.h:1917

Parameters

const llvm::APInt::WordType*
unsigned int n

static unsigned int tcMSB(
    const llvm::APInt::WordType* parts,
    unsigned int n)

Declared at: llvm/include/llvm/ADT/APInt.h:1918

Parameters

const llvm::APInt::WordType* parts
unsigned int n

static int tcMultiply(
    llvm::APInt::WordType*,
    const llvm::APInt::WordType*,
    const llvm::APInt::WordType*,
    unsigned int)

Description

DST = LHS * RHS, where DST has the same width as the operands and is filled with the least significant parts of the result. Returns one if overflow occurred, otherwise zero. DST must be disjoint from both operands.

Declared at: llvm/include/llvm/ADT/APInt.h:1954

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int

static int tcMultiplyPart(
    llvm::APInt::WordType* dst,
    const llvm::APInt::WordType* src,
    llvm::APInt::WordType multiplier,
    llvm::APInt::WordType carry,
    unsigned int srcParts,
    unsigned int dstParts,
    bool add)

Description

DST += SRC * MULTIPLIER + PART if add is true DST = SRC * MULTIPLIER + PART if add is false Requires 0 < = DSTPARTS < = SRCPARTS + 1. If DST overlaps SRC they must start at the same point, i.e. DST == SRC. If DSTPARTS == SRC_PARTS + 1 no overflow occurs and zero is returned. Otherwise DST is filled with the least significant DSTPARTS parts of the result, and if all of the omitted higher parts were zero return zero, otherwise overflow occurred and return one.

Declared at: llvm/include/llvm/ADT/APInt.h:1945

Parameters

llvm::APInt::WordType* dst
const llvm::APInt::WordType* src
llvm::APInt::WordType multiplier
llvm::APInt::WordType carry
unsigned int srcParts
unsigned int dstParts
bool add

static void tcNegate(llvm::APInt::WordType*,
                     unsigned int)

Description

Negate a bignum in-place.

Declared at: llvm/include/llvm/ADT/APInt.h:1921

Parameters

llvm::APInt::WordType*
unsigned int

static void tcOr(llvm::APInt::WordType*,
                 const llvm::APInt::WordType*,
                 unsigned int)

Declared at: llvm/include/llvm/ADT/APInt.h:1985

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int

static void tcSet(llvm::APInt::WordType*,
                  llvm::APInt::WordType,
                  unsigned int)

Description

Sets the least significant part of a bignum to the input value, and zeroes out higher parts.

Declared at: llvm/include/llvm/ADT/APInt.h:1890

Parameters

llvm::APInt::WordType*
llvm::APInt::WordType
unsigned int

static void tcSetBit(llvm::APInt::WordType*,
                     unsigned int bit)

Description

Set the given bit of a bignum. Zero-based.

Declared at: llvm/include/llvm/ADT/APInt.h:1910

Parameters

llvm::APInt::WordType*
unsigned int bit

static void tcSetLeastSignificantBits(
    llvm::APInt::WordType*,
    unsigned int,
    unsigned int bits)

Description

Set the least significant BITS and clear the rest.

Declared at: llvm/include/llvm/ADT/APInt.h:2003

Parameters

llvm::APInt::WordType*
unsigned int
unsigned int bits

static void tcShiftLeft(llvm::APInt::WordType*,
                        unsigned int Words,
                        unsigned int Count)

Description

Shift a bignum left Count bits. Shifted in bits are zero. There are no restrictions on Count.

Declared at: llvm/include/llvm/ADT/APInt.h:1977

Parameters

llvm::APInt::WordType*
unsigned int Words
unsigned int Count

static void tcShiftRight(llvm::APInt::WordType*,
                         unsigned int Words,
                         unsigned int Count)

Description

Shift a bignum right Count bits. Shifted in bits are zero. There are no restrictions on Count.

Declared at: llvm/include/llvm/ADT/APInt.h:1981

Parameters

llvm::APInt::WordType*
unsigned int Words
unsigned int Count

static llvm::APInt::WordType tcSubtract(
    llvm::APInt::WordType*,
    const llvm::APInt::WordType*,
    llvm::APInt::WordType carry,
    unsigned int)

Description

DST -= RHS + CARRY where CARRY is zero or one. Returns the carry flag.

Declared at: llvm/include/llvm/ADT/APInt.h:1930

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
llvm::APInt::WordType carry
unsigned int

static llvm::APInt::WordType tcSubtractPart(
    llvm::APInt::WordType*,
    llvm::APInt::WordType,
    unsigned int)

Description

DST -= RHS. Returns the carry flag.

Declared at: llvm/include/llvm/ADT/APInt.h:1933

Parameters

llvm::APInt::WordType*
llvm::APInt::WordType
unsigned int

static void tcXor(llvm::APInt::WordType*,
                  const llvm::APInt::WordType*,
                  unsigned int)

Declared at: llvm/include/llvm/ADT/APInt.h:1986

Parameters

llvm::APInt::WordType*
const llvm::APInt::WordType*
unsigned int

std::string toString(unsigned int Radix,
                     bool Signed) const

Description

Return the APInt as a std::string. Note that this is an inefficient method. It is better to pass in a SmallVector/SmallString to the methods above to avoid thrashing the heap for the string.

Declared at: llvm/include/llvm/ADT/APInt.h:1748

Parameters

unsigned int Radix
bool Signed

void toString(SmallVectorImpl<char>& Str,
              unsigned int Radix,
              bool Signed,
              bool formatAsCLiteral = false) const

Description

Converts an APInt to a string and append it to Str. Str is commonly a SmallString.

Declared at: llvm/include/llvm/ADT/APInt.h:1728

Parameters

SmallVectorImpl<char>& Str
unsigned int Radix
bool Signed
bool formatAsCLiteral = false

void toStringSigned(SmallVectorImpl<char>& Str,
                    unsigned int Radix = 10) const

Description

Considers the APInt to be signed and converts it into a string in the radix given. The radix can be 2, 8, 10, 16, or 36.

Declared at: llvm/include/llvm/ADT/APInt.h:1739

Parameters

SmallVectorImpl<char>& Str
unsigned int Radix = 10

void toStringUnsigned(
    SmallVectorImpl<char>& Str,
    unsigned int Radix = 10) const

Description

Considers the APInt to be unsigned and converts it into a string in the radix given. The radix can be 2, 8, 10 16, or 36.

Declared at: llvm/include/llvm/ADT/APInt.h:1733

Parameters

SmallVectorImpl<char>& Str
unsigned int Radix = 10

llvm::APInt trunc(unsigned int width) const

Description

Truncate to new width. Truncate the APInt to a specified width. It is an error to specify a width that is greater than or equal to the current width.

Declared at: llvm/include/llvm/ADT/APInt.h:1364

Parameters

unsigned int width

llvm::APInt truncSSat(unsigned int width) const

Description

Truncate to new width with signed saturation. If this APInt, treated as signed integer, can be losslessly truncated to the new bitwidth, then return truncated APInt. Else, return either signed min value if the APInt was negative, or signed max value.

Declared at: llvm/include/llvm/ADT/APInt.h:1377

Parameters

unsigned int width

llvm::APInt truncUSat(unsigned int width) const

Description

Truncate to new width with unsigned saturation. If the APInt, treated as unsigned integer, can be losslessly truncated to the new bitwidth, then return truncated APInt. Else, return max value.

Declared at: llvm/include/llvm/ADT/APInt.h:1370

Parameters

unsigned int width

llvm::APInt uadd_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1115

Parameters

const llvm::APInt& RHS
bool& Overflow

llvm::APInt uadd_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1126

Parameters

const llvm::APInt& RHS

llvm::APInt udiv(const llvm::APInt& RHS) const

Description

Unsigned division operation. Perform an unsigned divide operation on this APInt by RHS. Both this and RHS are treated as unsigned quantities for purposes of this division.

Declared at: llvm/include/llvm/ADT/APInt.h:1067

Parameters

const llvm::APInt& RHS

Returns

a new APInt value containing the division result, rounded towards zero.

llvm::APInt udiv(uint64_t RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1068

Parameters

uint64_t RHS

static void udivrem(const llvm::APInt& LHS,
                    const llvm::APInt& RHS,
                    llvm::APInt& Quotient,
                    llvm::APInt& Remainder)

Description

Dual division/remainder interface. Sometimes it is convenient to divide two APInt values and obtain both the quotient and remainder. This function does both operations in the same computation making it a little more efficient. The pair of input arguments may overlap with the pair of output arguments. It is safe to call udivrem(X, Y, X, Y), for example.

Declared at: llvm/include/llvm/ADT/APInt.h:1103

Parameters

const llvm::APInt& LHS
const llvm::APInt& RHS
llvm::APInt& Quotient
llvm::APInt& Remainder

static void udivrem(const llvm::APInt& LHS,
                    uint64_t RHS,
                    llvm::APInt& Quotient,
                    uint64_t& Remainder)

Declared at: llvm/include/llvm/ADT/APInt.h:1105

Parameters

const llvm::APInt& LHS
uint64_t RHS
llvm::APInt& Quotient
uint64_t& Remainder

bool uge(uint64_t RHS) const

Description

Unsigned greater or equal comparison Regards both *this as an unsigned quantity and compares it with RHS for the validity of the greater-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1321

Parameters

uint64_t RHS

Returns

true if *this >= RHS when considered unsigned.

bool uge(const llvm::APInt& RHS) const

Description

Unsigned greater or equal comparison Regards both *this and RHS as unsigned quantities and compares them for validity of the greater-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1313

Parameters

const llvm::APInt& RHS

Returns

true if *this >= RHS when both are considered unsigned.

bool ugt(uint64_t RHS) const

Description

Unsigned greater than comparison Regards both *this as an unsigned quantity and compares it with RHS for the validity of the greater-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1283

Parameters

uint64_t RHS

Returns

true if *this > RHS when considered unsigned.

bool ugt(const llvm::APInt& RHS) const

Description

Unsigned greater than comparison Regards both *this and RHS as unsigned quantities and compares them for the validity of the greater-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1275

Parameters

const llvm::APInt& RHS

Returns

true if *this > RHS when both are considered unsigned.

bool ule(uint64_t RHS) const

Description

Unsigned less or equal comparison Regards both *this as an unsigned quantity and compares it with RHS for the validity of the less-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1251

Parameters

uint64_t RHS

Returns

true if *this < = RHS when considered unsigned.

bool ule(const llvm::APInt& RHS) const

Description

Unsigned less or equal comparison Regards both *this and RHS as unsigned quantities and compares them for validity of the less-or-equal relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1243

Parameters

const llvm::APInt& RHS

Returns

true if *this < = RHS when both are considered unsigned.

bool ult(const llvm::APInt& RHS) const

Description

Unsigned less than comparison Regards both *this and RHS as unsigned quantities and compares them for the validity of the less-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1205

Parameters

const llvm::APInt& RHS

Returns

true if *this < RHS when both are considered unsigned.

bool ult(uint64_t RHS) const

Description

Unsigned less than comparison Regards both *this as an unsigned quantity and compares it with RHS for the validity of the less-than relationship.

Declared at: llvm/include/llvm/ADT/APInt.h:1213

Parameters

uint64_t RHS

Returns

true if *this < RHS when considered unsigned.

llvm::APInt umul_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1120

Parameters

const llvm::APInt& RHS
bool& Overflow

llvm::APInt umul_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1130

Parameters

const llvm::APInt& RHS

llvm::APInt urem(const llvm::APInt& RHS) const

Description

Unsigned remainder operation. Perform an unsigned remainder operation on this APInt with RHS being the divisor. Both this and RHS are treated as unsigned quantities for purposes of this operation. Note that this is a true remainder operation and not a modulo operation because the sign follows the sign of the dividend which is *this.

Declared at: llvm/include/llvm/ADT/APInt.h:1087

Parameters

const llvm::APInt& RHS

Returns

a new APInt value containing the remainder result

uint64_t urem(uint64_t RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1088

Parameters

uint64_t RHS

llvm::APInt ushl_ov(const llvm::APInt& Amt,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1122

Parameters

const llvm::APInt& Amt
bool& Overflow

llvm::APInt ushl_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1132

Parameters

const llvm::APInt& RHS

llvm::APInt usub_ov(const llvm::APInt& RHS,
                    bool& Overflow) const

Declared at: llvm/include/llvm/ADT/APInt.h:1117

Parameters

const llvm::APInt& RHS
bool& Overflow

llvm::APInt usub_sat(const llvm::APInt& RHS) const

Declared at: llvm/include/llvm/ADT/APInt.h:1128

Parameters

const llvm::APInt& RHS

llvm::APInt zext(unsigned int width) const

Description

Zero extend to a new width. This operation zero extends the APInt to a new width. The high order bits are filled with 0 bits. It is an error to specify a width that is less than or equal to the current width.

Declared at: llvm/include/llvm/ADT/APInt.h:1392

Parameters

unsigned int width

llvm::APInt zextOrSelf(unsigned int width) const

Description

Zero extend or truncate to width Make this APInt have the bit width given by \p width. The value is zero extended, or left alone to make it that width.

Declared at: llvm/include/llvm/ADT/APInt.h:1416

Parameters

unsigned int width

llvm::APInt zextOrTrunc(unsigned int width) const

Description

Zero extend or truncate to width Make this APInt have the bit width given by \p width. The value is zero extended, truncated, or left alone to make it that width.

Declared at: llvm/include/llvm/ADT/APInt.h:1404

Parameters

unsigned int width

~APInt()

Description

Destructor.

Declared at: llvm/include/llvm/ADT/APInt.h:335