LLVM: include/llvm/IR/ConstantRangeList.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef LLVM_IR_CONSTANTRANGELIST_H
17#define LLVM_IR_CONSTANTRANGELIST_H
18
23#include
24#include
25
26namespace llvm {
27
29
30
33
34public:
40 Ranges.push_back(R);
41 }
42 }
43
44
46 LLVM_ABI static std::optional
48
53 return Ranges.begin();
54 }
56 return Ranges.end();
57 }
59
60
61 bool empty() const { return Ranges.empty(); }
62
63
64
66
67
68 size_t size() const { return Ranges.size(); }
69
70
76
78
79
80
82
83
84
86
87
89 return Ranges == CRL.Ranges;
90 }
94
95
97
98#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
99 void dump() const;
100#endif
101};
102
103}
104
105#endif
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file implements a class to represent arbitrary precision integral constant values and operations...
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
bool operator==(const MergedFunctionsInfo &LHS, const MergedFunctionsInfo &RHS)
Class for arbitrary precision integers.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
This class represents a list of constant ranges.
Definition ConstantRangeList.h:31
ConstantRange getRange(unsigned i) const
Definition ConstantRangeList.h:58
uint32_t getBitWidth() const
Get the bit width of this ConstantRangeList.
Definition ConstantRangeList.h:65
LLVM_ABI void insert(const ConstantRange &NewRange)
Insert a new range to Ranges and keep the list ordered.
SmallVectorImpl< ConstantRange >::iterator begin()
Definition ConstantRangeList.h:50
SmallVectorImpl< ConstantRange >::const_iterator begin() const
Definition ConstantRangeList.h:52
SmallVectorImpl< ConstantRange >::const_iterator end() const
Definition ConstantRangeList.h:55
bool empty() const
Return true if this list contains no members.
Definition ConstantRangeList.h:61
SmallVectorImpl< ConstantRange >::iterator end()
Definition ConstantRangeList.h:51
ArrayRef< ConstantRange > rangesRef() const
Definition ConstantRangeList.h:49
void insert(int64_t Lower, int64_t Upper)
Definition ConstantRangeList.h:72
ConstantRangeList()=default
size_t size() const
Return the number of ranges in this ConstantRangeList.
Definition ConstantRangeList.h:68
bool operator!=(const ConstantRangeList &CRL) const
Definition ConstantRangeList.h:91
bool operator==(const ConstantRangeList &CRL) const
Return true if this range list is equal to another range list.
Definition ConstantRangeList.h:88
static LLVM_ABI bool isOrderedRanges(ArrayRef< ConstantRange > RangesRef)
ConstantRangeList(ArrayRef< ConstantRange > RangesRef)
Definition ConstantRangeList.h:36
This class represents a range of values.
typename SuperClass::const_iterator const_iterator
typename SuperClass::iterator iterator
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
void dump(const SparseBitVector< ElementSize > &LHS, raw_ostream &out)