32 #ifndef LLVM_SUPPORT_CONSTANTRANGE_H
33 #define LLVM_SUPPORT_CONSTANTRANGE_H
36 #include "llvm/Support/DataTypes.h"
45 #if LLVM_HAS_RVALUE_REFERENCES
120 if (Upper == Lower + 1)
156 return Lower == CR.Lower && Upper == CR.Upper;
APInt getSignedMin() const
bool operator==(const ConstantRange &CR) const
ConstantRange sextOrTrunc(uint32_t BitWidth) const
const APInt * getSingleElement() const
uint32_t getBitWidth() const
APInt getSignedMax() const
bool isSingleElement() const
ConstantRange smax(const ConstantRange &Other) const
ConstantRange truncate(uint32_t BitWidth) const
ConstantRange signExtend(uint32_t BitWidth) const
This file implements a class to represent arbitrary precision integral constant values and operations...
ConstantRange multiply(const ConstantRange &Other) const
bool operator!=(const ConstantRange &CR) const
bool contains(const APInt &Val) const
ConstantRange unionWith(const ConstantRange &CR) const
ConstantRange subtract(const APInt &CI) const
ConstantRange intersectWith(const ConstantRange &CR) const
ConstantRange lshr(const ConstantRange &Other) const
bool isWrappedSet() const
ConstantRange udiv(const ConstantRange &Other) const
ConstantRange(uint32_t BitWidth, bool isFullSet=true)
unsigned getBitWidth() const
Return the number of bits in the APInt.
ConstantRange sub(const ConstantRange &Other) const
void print(raw_ostream &OS) const
ConstantRange zeroExtend(uint32_t BitWidth) const
ConstantRange difference(const ConstantRange &CR) const
Subtract the specified range from this range (aka relative complement of the sets).
ConstantRange add(const ConstantRange &Other) const
bool isSignWrappedSet() const
ConstantRange inverse() const
const APInt & getLower() const
ConstantRange binaryOr(const ConstantRange &Other) const
Class for arbitrary precision integers.
ConstantRange shl(const ConstantRange &Other) const
ConstantRange umax(const ConstantRange &Other) const
static ConstantRange makeICmpRegion(unsigned Pred, const ConstantRange &Other)
ConstantRange binaryAnd(const ConstantRange &Other) const
raw_ostream & operator<<(raw_ostream &OS, const APInt &I)
const APInt & getUpper() const
LLVM Value Representation.
ConstantRange zextOrTrunc(uint32_t BitWidth) const
APInt getUnsignedMax() const
APInt getUnsignedMin() const