Home | History | Annotate | Download | only in Support

Lines Matching refs:ConstantRange

1 //===-- llvm/Support/ConstantRange.h - Represent a range --------*- C++ -*-===//
27 // Note that ConstantRange can be used to represent either signed or
40 /// ConstantRange - This class represents an range of values.
42 class ConstantRange {
48 explicit ConstantRange(uint32_t BitWidth, bool isFullSet = true);
52 ConstantRange(const APInt &Value);
57 ConstantRange(const APInt &Lower, const APInt &Upper);
66 static ConstantRange makeICmpRegion(unsigned Pred,
67 const ConstantRange &Other);
77 /// getBitWidth - get the bit width of this ConstantRange
106 bool contains(const ConstantRange &CR) const;
126 /// ConstantRange.
131 /// ConstantRange.
136 /// ConstantRange.
141 /// ConstantRange.
147 bool operator==(const ConstantRange &CR) const {
150 bool operator!=(const ConstantRange &CR) const {
156 ConstantRange subtract(const APInt &CI) const;
165 ConstantRange intersectWith(const ConstantRange &CR) const;
173 ConstantRange unionWith(const ConstantRange &CR) const;
179 ConstantRange zeroExtend(uint32_t BitWidth) const;
185 ConstantRange signExtend(uint32_t BitWidth) const;
191 ConstantRange truncate(uint32_t BitWidth) const;
195 ConstantRange zextOrTrunc(uint32_t BitWidth) const;
199 ConstantRange sextOrTrunc(uint32_t BitWidth) const;
203 ConstantRange add(const ConstantRange &Other) const;
207 ConstantRange sub(const ConstantRange &Other) const;
212 ConstantRange multiply(const ConstantRange &Other) const;
216 ConstantRange smax(const ConstantRange &Other) const;
220 ConstantRange umax(const ConstantRange &Other) const;
225 ConstantRange udiv(const ConstantRange &Other) const;
229 ConstantRange binaryAnd(const ConstantRange &Other) const;
233 ConstantRange binaryOr(const ConstantRange &Other) const;
238 ConstantRange shl(const ConstantRange &Other) const;
243 ConstantRange lshr(const ConstantRange &Other) const;
247 ConstantRange inverse() const;
258 inline raw_ostream &operator<<(raw_ostream &OS, const ConstantRange &CR) {