@@ -22,14 +22,16 @@ namespace llvm {
2222class AddressRange {
2323public:
2424 AddressRange () {}
25- AddressRange (uint64_t S, uint64_t E) : Start(S), End(E) {
25+ AddressRange (const uint64_t S, const uint64_t E) : Start(S), End(E) {
2626 assert (Start <= End);
2727 }
2828 uint64_t start () const { return Start; }
2929 uint64_t end () const { return End; }
3030 uint64_t size () const { return End - Start; }
3131 uint64_t empty () const { return size () == 0 ; }
32- bool contains (uint64_t Addr) const { return Start <= Addr && Addr < End; }
32+ bool contains (const uint64_t Addr) const {
33+ return Start <= Addr && Addr < End;
34+ }
3335 bool contains (const AddressRange &R) const {
3436 return Start <= R.Start && R.End <= End;
3537 }
@@ -63,16 +65,16 @@ template <typename T> class AddressRangesBase {
6365public:
6466 void clear () { Ranges.clear (); }
6567 bool empty () const { return Ranges.empty (); }
66- bool contains (uint64_t Addr) const {
68+ bool contains (const uint64_t Addr) const {
6769 return find (Addr, Addr + 1 ) != Ranges.end ();
6870 }
69- bool contains (AddressRange Range) const {
71+ bool contains (const AddressRange Range) const {
7072 return find (Range.start (), Range.end ()) != Ranges.end ();
7173 }
7274 void reserve (size_t Capacity) { Ranges.reserve (Capacity); }
7375 size_t size () const { return Ranges.size (); }
7476
75- std::optional<T> getRangeThatContains (uint64_t Addr) const {
77+ std::optional<T> getRangeThatContains (const uint64_t Addr) const {
7678 typename Collection::const_iterator It = find (Addr, Addr + 1 );
7779 if (It == Ranges.end ())
7880 return std::nullopt ;
@@ -83,17 +85,18 @@ template <typename T> class AddressRangesBase {
8385 typename Collection::const_iterator begin () const { return Ranges.begin (); }
8486 typename Collection::const_iterator end () const { return Ranges.end (); }
8587
86- const T &operator [](size_t i ) const {
87- assert (i < Ranges.size ());
88- return Ranges[i ];
88+ const T &operator [](size_t I ) const {
89+ assert (I < Ranges.size ());
90+ return Ranges[I ];
8991 }
9092
91- bool operator ==(const AddressRangesBase<T> &RHS) const {
93+ bool operator ==(const AddressRangesBase &RHS) const {
9294 return Ranges == RHS.Ranges ;
9395 }
9496
9597protected:
96- typename Collection::const_iterator find (uint64_t Start, uint64_t End) const {
98+ typename Collection::const_iterator find (const uint64_t Start,
99+ const uint64_t End) const {
97100 if (Start >= End)
98101 return Ranges.end ();
99102
@@ -124,8 +127,8 @@ class AddressRanges : public AddressRangesBase<AddressRange> {
124127 if (Range.empty ())
125128 return Ranges.end ();
126129
127- auto It = llvm:: upper_bound (Ranges, Range);
128- auto It2 = It;
130+ auto * It = upper_bound (Ranges, Range);
131+ auto * It2 = It;
129132 while (It2 != Ranges.end () && It2->start () <= Range.end ())
130133 ++It2;
131134 if (It != It2) {
@@ -144,7 +147,7 @@ class AddressRanges : public AddressRangesBase<AddressRange> {
144147
145148class AddressRangeValuePair {
146149public:
147- operator AddressRange () const { return Range; }
150+ explicit operator AddressRange () const { return Range; }
148151
149152 AddressRange Range;
150153 int64_t Value = 0 ;
@@ -164,15 +167,15 @@ inline bool operator==(const AddressRangeValuePair &LHS,
164167// / ranges are not combined during insertion.
165168class AddressRangesMap : public AddressRangesBase <AddressRangeValuePair> {
166169public:
167- void insert (AddressRange Range, int64_t Value) {
170+ void insert (AddressRange Range, const int64_t Value) {
168171 if (Range.empty ())
169172 return ;
170173
171174 // Search for range which is less than or equal incoming Range.
172- auto It = std::partition_point (Ranges.begin (), Ranges.end (),
173- [=](const AddressRangeValuePair &R) {
174- return R.Range .start () <= Range.start ();
175- });
175+ auto * It = std::partition_point (Ranges.begin (), Ranges.end (),
176+ [=](const AddressRangeValuePair &R) {
177+ return R.Range .start () <= Range.start ();
178+ });
176179
177180 if (It != Ranges.begin ())
178181 It--;
0 commit comments