LLVM: include/llvm/DebugInfo/LogicalView/Core/LVRange.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVRANGE_H
15#define LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVRANGE_H
16
20
21namespace llvm {
23
25
30
31public:
33
36 : Lower(LowerAddress), Upper(UpperAddress), Scope(Scope) {}
37
44};
45
46
47
49
51
54
55 LVAllocator Allocator;
56 LVRangesTree RangesTree;
60
61public:
62 LVRange() : LVObject(), RangesTree(Allocator) {}
66
74
76
78 RangeEntries.clear();
80 Upper = 0;
81 }
82 bool empty() const { return RangeEntries.empty(); }
84
85 void startSearch();
87
90};
91
92}
93}
94
95#endif
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
BumpPtrAllocator Allocator
LVRangeEntry(LVAddress LowerAddress, LVAddress UpperAddress, LVScope *Scope)
Definition LVRange.h:35
LVAddressRange addressRange() const
Definition LVRange.h:40
LVAddress RangeType
Definition LVRange.h:32
RangeType lower() const
Definition LVRange.h:38
RangeType upper() const
Definition LVRange.h:39
LVScope * scope() const
Definition LVRange.h:43
~LVRange() override=default
LVScope * getEntry(LVAddress Address) const
bool hasEntry(LVAddress Low, LVAddress High) const
void clear()
Definition LVRange.h:77
void printExtra(raw_ostream &OS, bool Full=true) const override
Definition LVRange.h:89
const LVRangeEntries & getEntries() const
Definition LVRange.h:75
bool empty() const
Definition LVRange.h:82
LVRange & operator=(const LVRange &)=delete
LVAddress getLower() const
Definition LVRange.h:72
LVRange(const LVRange &)=delete
void addEntry(LVScope *Scope, LVAddress LowerAddress, LVAddress UpperAddress)
LVAddress getUpper() const
Definition LVRange.h:73
LVRange()
Definition LVRange.h:62
void endSearch()
Definition LVRange.h:86
This class implements an extremely fast bulk output stream that can only output to a stream.
std::vector< LVRangeEntry > LVRangeEntries
Definition LVRange.h:48
const LVAddress MaxAddress
std::pair< LVAddress, LVAddress > LVAddressRange
Definition LVRange.h:24
This is an optimization pass for GlobalISel generic memory operations.
@ Low
Lower the current thread's priority such that it does not affect foreground tasks significantly.
void sort(IteratorTy Start, IteratorTy End)