16#ifndef LLVM_IR_CONSTANTRANGELIST_H
17#define LLVM_IR_CONSTANTRANGELIST_H
36 assert(isOrderedRanges(RangesRef));
45 static std::optional<ConstantRangeList>
52 return Ranges.begin();
60 bool empty()
const {
return Ranges.empty(); }
66 size_t size()
const {
return Ranges.size(); }
70 void insert(int64_t Lower, int64_t Upper) {
87 return Ranges == CRL.Ranges;
96#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
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)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static unsigned getBitWidth(Type *Ty, const DataLayout &DL)
Returns the bitwidth of the given scalar or pointer type.
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.
ConstantRange getRange(unsigned i) const
uint32_t getBitWidth() const
Get the bit width of this ConstantRangeList.
SmallVectorImpl< ConstantRange >::iterator begin()
SmallVectorImpl< ConstantRange >::const_iterator begin() const
SmallVectorImpl< ConstantRange >::const_iterator end() const
bool empty() const
Return true if this list contains no members.
SmallVectorImpl< ConstantRange >::iterator end()
ArrayRef< ConstantRange > rangesRef() const
void insert(int64_t Lower, int64_t Upper)
ConstantRangeList()=default
size_t size() const
Return the number of ranges in this ConstantRangeList.
bool operator!=(const ConstantRangeList &CRL) const
bool operator==(const ConstantRangeList &CRL) const
Return true if this range list is equal to another range list.
ConstantRangeList(ArrayRef< ConstantRange > RangesRef)
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)
bool operator==(const AddressRangeValuePair &LHS, const AddressRangeValuePair &RHS)