struct KnownBits
Declaration
struct KnownBits { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Support/KnownBits.h:23
Member Variables
- public llvm::APInt Zero
- public llvm::APInt One
Method Overview
- public KnownBits()
- public KnownBits(unsigned int BitWidth)
- private KnownBits(llvm::APInt Zero, llvm::APInt One)
- public llvm::KnownBits abs(bool IntMinIsPoison = false) const
- public llvm::KnownBits anyext(unsigned int BitWidth) const
- public llvm::KnownBits anyextOrTrunc(unsigned int BitWidth) const
- public static llvm::KnownBits ashr(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public llvm::KnownBits byteSwap()
- public static llvm::KnownBits commonBits(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits computeForAddCarry(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS, const llvm::KnownBits & Carry)
- public static llvm::KnownBits computeForAddSub(bool Add, bool NSW, const llvm::KnownBits & LHS, llvm::KnownBits RHS)
- public unsigned int countMaxActiveBits() const
- public unsigned int countMaxLeadingOnes() const
- public unsigned int countMaxLeadingZeros() const
- public unsigned int countMaxPopulation() const
- public unsigned int countMaxSignificantBits() const
- public unsigned int countMaxTrailingOnes() const
- public unsigned int countMaxTrailingZeros() const
- public unsigned int countMinLeadingOnes() const
- public unsigned int countMinLeadingZeros() const
- public unsigned int countMinPopulation() const
- public unsigned int countMinSignBits() const
- public unsigned int countMinTrailingOnes() const
- public unsigned int countMinTrailingZeros() const
- public void dump() const
- public static Optional<bool> eq(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public llvm::KnownBits extractBits(unsigned int NumBits, unsigned int BitPosition) const
- public unsigned int getBitWidth() const
- public const llvm::APInt & getConstant() const
- public llvm::APInt getMaxValue() const
- public llvm::APInt getMinValue() const
- public llvm::APInt getSignedMaxValue() const
- public llvm::APInt getSignedMinValue() const
- public bool hasConflict() const
- public static bool haveNoCommonBitsSet(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public void insertBits(const llvm::KnownBits & SubBits, unsigned int BitPosition)
- public bool isAllOnes() const
- public bool isConstant() const
- public bool isNegative() const
- public bool isNonNegative() const
- public bool isNonZero() const
- public bool isStrictlyPositive() const
- public bool isUnknown() const
- public bool isZero() const
- public static llvm::KnownBits lshr(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits makeConstant(const llvm::APInt & C)
- public llvm::KnownBits makeGE(const llvm::APInt & Val) const
- public void makeNegative()
- public void makeNonNegative()
- public static llvm::KnownBits mul(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS, bool NoUndefSelfMultiply = false)
- public static llvm::KnownBits mulhs(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits mulhu(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> ne(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public void print(llvm::raw_ostream & OS) const
- public void resetAll()
- public llvm::KnownBits reverseBits()
- public void setAllOnes()
- public void setAllZero()
- public llvm::KnownBits sext(unsigned int BitWidth) const
- public llvm::KnownBits sextInReg(unsigned int SrcBitWidth) const
- public llvm::KnownBits sextOrTrunc(unsigned int BitWidth) const
- public static Optional<bool> sge(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> sgt(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits shl(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> sle(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> slt(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits smax(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits smin(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits srem(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public llvm::KnownBits trunc(unsigned int BitWidth) const
- public static llvm::KnownBits udiv(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> uge(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> ugt(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> ule(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static Optional<bool> ult(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits umax(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits umin(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public static llvm::KnownBits urem(const llvm::KnownBits & LHS, const llvm::KnownBits & RHS)
- public llvm::KnownBits zext(unsigned int BitWidth) const
- public llvm::KnownBits zextOrTrunc(unsigned int BitWidth) const
Methods
¶KnownBits()
KnownBits()
Declared at: llvm/include/llvm/Support/KnownBits.h:34
¶KnownBits(unsigned int BitWidth)
KnownBits(unsigned int BitWidth)
Description
Create a known bits object of BitWidth bits initialized to unknown.
Declared at: llvm/include/llvm/Support/KnownBits.h:37
Parameters
- unsigned int BitWidth
¶KnownBits(llvm::APInt Zero, llvm::APInt One)
KnownBits(llvm::APInt Zero, llvm::APInt One)
Declared at: llvm/include/llvm/Support/KnownBits.h:29
Parameters
- llvm::APInt Zero
- llvm::APInt One
¶llvm::KnownBits abs(
bool IntMinIsPoison = false) const
llvm::KnownBits abs(
bool IntMinIsPoison = false) const
Description
Compute known bits for the absolute value.
Declared at: llvm/include/llvm/Support/KnownBits.h:408
Parameters
- bool IntMinIsPoison = false
¶llvm::KnownBits anyext(
unsigned int BitWidth) const
llvm::KnownBits anyext(
unsigned int BitWidth) const
Description
Return known bits for an "any" extension of the value we're tracking, where we don't know anything about the extended bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:158
Parameters
- unsigned int BitWidth
¶llvm::KnownBits anyextOrTrunc(
unsigned int BitWidth) const
llvm::KnownBits anyextOrTrunc(
unsigned int BitWidth) const
Description
Return known bits for an "any" extension or truncation of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:177
Parameters
- unsigned int BitWidth
¶static llvm::KnownBits ashr(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits ashr(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for ashr(LHS, RHS). NOTE: RHS (shift amount) bitwidth doesn't need to be the same as LHS.
Declared at: llvm/include/llvm/Support/KnownBits.h:366
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶llvm::KnownBits byteSwap()
llvm::KnownBits byteSwap()
Declared at: llvm/include/llvm/Support/KnownBits.h:410
¶static llvm::KnownBits commonBits(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits commonBits(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits common to LHS and RHS.
Declared at: llvm/include/llvm/Support/KnownBits.h:308
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits computeForAddCarry(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS,
const llvm::KnownBits& Carry)
static llvm::KnownBits computeForAddCarry(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS,
const llvm::KnownBits& Carry)
Description
Compute known bits resulting from adding LHS, RHS and a 1-bit Carry.
Declared at: llvm/include/llvm/Support/KnownBits.h:318
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
- const llvm::KnownBits& Carry
¶static llvm::KnownBits computeForAddSub(
bool Add,
bool NSW,
const llvm::KnownBits& LHS,
llvm::KnownBits RHS)
static llvm::KnownBits computeForAddSub(
bool Add,
bool NSW,
const llvm::KnownBits& LHS,
llvm::KnownBits RHS)
Description
Compute known bits resulting from adding LHS and RHS.
Declared at: llvm/include/llvm/Support/KnownBits.h:322
Parameters
- bool Add
- bool NSW
- const llvm::KnownBits& LHS
- llvm::KnownBits RHS
¶unsigned int countMaxActiveBits() const
unsigned int countMaxActiveBits() const
Description
Returns the maximum number of bits needed to represent all possible unsigned values with these known bits. This is the inverse of the minimum number of leading zeros.
Declared at: llvm/include/llvm/Support/KnownBits.h:298
¶unsigned int countMaxLeadingOnes() const
unsigned int countMaxLeadingOnes() const
Description
Returns the maximum number of leading one bits possible.
Declared at: llvm/include/llvm/Support/KnownBits.h:281
¶unsigned int countMaxLeadingZeros() const
unsigned int countMaxLeadingZeros() const
Description
Returns the maximum number of leading zero bits possible.
Declared at: llvm/include/llvm/Support/KnownBits.h:276
¶unsigned int countMaxPopulation() const
unsigned int countMaxPopulation() const
Description
Returns the maximum number of bits that could be one.
Declared at: llvm/include/llvm/Support/KnownBits.h:291
¶unsigned int countMaxSignificantBits() const
unsigned int countMaxSignificantBits() const
Description
Returns the maximum number of bits needed to represent all possible signed values with these known bits. This is the inverse of the minimum number of known sign bits. Examples for bitwidth 5: 110?? --> 4 0000? --> 2
Declared at: llvm/include/llvm/Support/KnownBits.h:261
¶unsigned int countMaxTrailingOnes() const
unsigned int countMaxTrailingOnes() const
Description
Returns the maximum number of trailing one bits possible.
Declared at: llvm/include/llvm/Support/KnownBits.h:271
¶unsigned int countMaxTrailingZeros() const
unsigned int countMaxTrailingZeros() const
Description
Returns the maximum number of trailing zero bits possible.
Declared at: llvm/include/llvm/Support/KnownBits.h:266
¶unsigned int countMinLeadingOnes() const
unsigned int countMinLeadingOnes() const
Description
Returns the minimum number of leading one bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:241
¶unsigned int countMinLeadingZeros() const
unsigned int countMinLeadingZeros() const
Description
Returns the minimum number of leading zero bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:236
¶unsigned int countMinPopulation() const
unsigned int countMinPopulation() const
Description
Returns the number of bits known to be one.
Declared at: llvm/include/llvm/Support/KnownBits.h:286
¶unsigned int countMinSignBits() const
unsigned int countMinSignBits() const
Description
Returns the number of times the sign bit is replicated into the other bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:247
¶unsigned int countMinTrailingOnes() const
unsigned int countMinTrailingOnes() const
Description
Returns the minimum number of trailing one bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:231
¶unsigned int countMinTrailingZeros() const
unsigned int countMinTrailingZeros() const
Description
Returns the minimum number of trailing zero bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:226
¶void dump() const
void dump() const
Declared at: llvm/include/llvm/Support/KnownBits.h:425
¶static Optional<bool> eq(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> eq(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_EQ result.
Declared at: llvm/include/llvm/Support/KnownBits.h:369
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶llvm::KnownBits extractBits(
unsigned int NumBits,
unsigned int BitPosition) const
llvm::KnownBits extractBits(
unsigned int NumBits,
unsigned int BitPosition) const
Description
Return a subset of the known bits from [bitPosition,bitPosition+numBits).
Declared at: llvm/include/llvm/Support/KnownBits.h:216
Parameters
- unsigned int NumBits
- unsigned int BitPosition
¶unsigned int getBitWidth() const
unsigned int getBitWidth() const
Description
Get the bit width of this value.
Declared at: llvm/include/llvm/Support/KnownBits.h:40
¶const llvm::APInt& getConstant() const
const llvm::APInt& getConstant() const
Description
Returns the value when all bits have a known value. This just returns One with a protective assertion.
Declared at: llvm/include/llvm/Support/KnownBits.h:57
¶llvm::APInt getMaxValue() const
llvm::APInt getMaxValue() const
Description
Return the maximal unsigned value possible given these KnownBits.
Declared at: llvm/include/llvm/Support/KnownBits.h:136
¶llvm::APInt getMinValue() const
llvm::APInt getMinValue() const
Description
Return the minimal unsigned value possible given these KnownBits.
Declared at: llvm/include/llvm/Support/KnownBits.h:120
¶llvm::APInt getSignedMaxValue() const
llvm::APInt getSignedMaxValue() const
Description
Return the maximal signed value possible given these KnownBits.
Declared at: llvm/include/llvm/Support/KnownBits.h:142
¶llvm::APInt getSignedMinValue() const
llvm::APInt getSignedMinValue() const
Description
Return the minimal signed value possible given these KnownBits.
Declared at: llvm/include/llvm/Support/KnownBits.h:126
¶bool hasConflict() const
bool hasConflict() const
Description
Returns true if there is conflicting information.
Declared at: llvm/include/llvm/Support/KnownBits.h:47
¶static bool haveNoCommonBitsSet(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static bool haveNoCommonBitsSet(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Return true if LHS and RHS have no common bits set.
Declared at: llvm/include/llvm/Support/KnownBits.h:313
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶void insertBits(const llvm::KnownBits& SubBits,
unsigned int BitPosition)
void insertBits(const llvm::KnownBits& SubBits,
unsigned int BitPosition)
Description
Insert the bits from a smaller known bits starting at bitPosition.
Declared at: llvm/include/llvm/Support/KnownBits.h:210
Parameters
- const llvm::KnownBits& SubBits
- unsigned int BitPosition
¶bool isAllOnes() const
bool isAllOnes() const
Description
Returns true if value is all one bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:78
¶bool isConstant() const
bool isConstant() const
Description
Returns true if we know the value of all bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:50
¶bool isNegative() const
bool isNegative() const
Description
Returns true if this value is known to be negative.
Declared at: llvm/include/llvm/Support/KnownBits.h:96
¶bool isNonNegative() const
bool isNonNegative() const
Description
Returns true if this value is known to be non-negative.
Declared at: llvm/include/llvm/Support/KnownBits.h:99
¶bool isNonZero() const
bool isNonZero() const
Description
Returns true if this value is known to be non-zero.
Declared at: llvm/include/llvm/Support/KnownBits.h:102
¶bool isStrictlyPositive() const
bool isStrictlyPositive() const
Description
Returns true if this value is known to be positive.
Declared at: llvm/include/llvm/Support/KnownBits.h:105
¶bool isUnknown() const
bool isUnknown() const
Description
Returns true if we don't know any bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:63
¶bool isZero() const
bool isZero() const
Description
Returns true if value is all zero.
Declared at: llvm/include/llvm/Support/KnownBits.h:72
¶static llvm::KnownBits lshr(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits lshr(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for lshr(LHS, RHS). NOTE: RHS (shift amount) bitwidth doesn't need to be the same as LHS.
Declared at: llvm/include/llvm/Support/KnownBits.h:362
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits makeConstant(
const llvm::APInt& C)
static llvm::KnownBits makeConstant(
const llvm::APInt& C)
Description
Create known bits from a known constant.
Declared at: llvm/include/llvm/Support/KnownBits.h:303
Parameters
- const llvm::APInt& C
¶llvm::KnownBits makeGE(
const llvm::APInt& Val) const
llvm::KnownBits makeGE(
const llvm::APInt& Val) const
Description
Return KnownBits based on this, but updated given that the underlying value is known to be greater than or equal to Val.
Declared at: llvm/include/llvm/Support/KnownBits.h:223
Parameters
- const llvm::APInt& Val
¶void makeNegative()
void makeNegative()
Description
Make this value negative.
Declared at: llvm/include/llvm/Support/KnownBits.h:110
¶void makeNonNegative()
void makeNonNegative()
Description
Make this value non-negative.
Declared at: llvm/include/llvm/Support/KnownBits.h:115
¶static llvm::KnownBits mul(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS,
bool NoUndefSelfMultiply = false)
static llvm::KnownBits mul(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS,
bool NoUndefSelfMultiply = false)
Description
Compute known bits resulting from multiplying LHS and RHS.
Declared at: llvm/include/llvm/Support/KnownBits.h:326
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
- bool NoUndefSelfMultiply = false
¶static llvm::KnownBits mulhs(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits mulhs(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits from sign-extended multiply-hi.
Declared at: llvm/include/llvm/Support/KnownBits.h:330
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits mulhu(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits mulhu(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits from zero-extended multiply-hi.
Declared at: llvm/include/llvm/Support/KnownBits.h:333
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> ne(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> ne(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_NE result.
Declared at: llvm/include/llvm/Support/KnownBits.h:372
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶void print(llvm::raw_ostream& OS) const
void print(llvm::raw_ostream& OS) const
Declared at: llvm/include/llvm/Support/KnownBits.h:424
Parameters
¶void resetAll()
void resetAll()
Description
Resets the known state of all bits.
Declared at: llvm/include/llvm/Support/KnownBits.h:66
¶llvm::KnownBits reverseBits()
llvm::KnownBits reverseBits()
Declared at: llvm/include/llvm/Support/KnownBits.h:414
¶void setAllOnes()
void setAllOnes()
Description
Make all bits known to be one and discard any previous information.
Declared at: llvm/include/llvm/Support/KnownBits.h:90
¶void setAllZero()
void setAllZero()
Description
Make all bits known to be zero and discard any previous information.
Declared at: llvm/include/llvm/Support/KnownBits.h:84
¶llvm::KnownBits sext(unsigned int BitWidth) const
llvm::KnownBits sext(unsigned int BitWidth) const
Description
Return known bits for a sign extension of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:171
Parameters
- unsigned int BitWidth
¶llvm::KnownBits sextInReg(
unsigned int SrcBitWidth) const
llvm::KnownBits sextInReg(
unsigned int SrcBitWidth) const
Description
Return known bits for a in-register sign extension of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:207
Parameters
- unsigned int SrcBitWidth
¶llvm::KnownBits sextOrTrunc(
unsigned int BitWidth) const
llvm::KnownBits sextOrTrunc(
unsigned int BitWidth) const
Description
Return known bits for a sign extension or truncation of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:197
Parameters
- unsigned int BitWidth
¶static Optional<bool> sge(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> sge(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_SGE result.
Declared at: llvm/include/llvm/Support/KnownBits.h:390
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> sgt(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> sgt(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_SGT result.
Declared at: llvm/include/llvm/Support/KnownBits.h:387
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits shl(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits shl(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for shl(LHS, RHS). NOTE: RHS (shift amount) bitwidth doesn't need to be the same as LHS.
Declared at: llvm/include/llvm/Support/KnownBits.h:358
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> sle(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> sle(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_SLE result.
Declared at: llvm/include/llvm/Support/KnownBits.h:396
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> slt(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> slt(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_SLT result.
Declared at: llvm/include/llvm/Support/KnownBits.h:393
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits smax(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits smax(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for smax(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:351
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits smin(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits smin(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for smin(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:354
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits srem(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits srem(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for srem(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:342
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶llvm::KnownBits trunc(unsigned int BitWidth) const
llvm::KnownBits trunc(unsigned int BitWidth) const
Description
Return known bits for a truncation of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:152
Parameters
- unsigned int BitWidth
¶static llvm::KnownBits udiv(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits udiv(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for udiv(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:336
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> uge(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> uge(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_UGE result.
Declared at: llvm/include/llvm/Support/KnownBits.h:378
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> ugt(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> ugt(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_UGT result.
Declared at: llvm/include/llvm/Support/KnownBits.h:375
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> ule(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> ule(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_ULE result.
Declared at: llvm/include/llvm/Support/KnownBits.h:384
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static Optional<bool> ult(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static Optional<bool> ult(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Determine if these known bits always give the same ICMP_ULT result.
Declared at: llvm/include/llvm/Support/KnownBits.h:381
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits umax(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits umax(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for umax(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:345
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits umin(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits umin(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for umin(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:348
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶static llvm::KnownBits urem(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
static llvm::KnownBits urem(
const llvm::KnownBits& LHS,
const llvm::KnownBits& RHS)
Description
Compute known bits for urem(LHS, RHS).
Declared at: llvm/include/llvm/Support/KnownBits.h:339
Parameters
- const llvm::KnownBits& LHS
- const llvm::KnownBits& RHS
¶llvm::KnownBits zext(unsigned int BitWidth) const
llvm::KnownBits zext(unsigned int BitWidth) const
Description
Return known bits for a zero extension of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:163
Parameters
- unsigned int BitWidth
¶llvm::KnownBits zextOrTrunc(
unsigned int BitWidth) const
llvm::KnownBits zextOrTrunc(
unsigned int BitWidth) const
Description
Return known bits for a zero extension or truncation of the value we're tracking.
Declared at: llvm/include/llvm/Support/KnownBits.h:187
Parameters
- unsigned int BitWidth