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)