14#ifndef LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVRANGE_H
15#define LLVM_DEBUGINFO_LOGICALVIEW_CORE_LVRANGE_H
36 : Lower(LowerAddress), Upper(UpperAddress), Scope(Scope) {}
55 LVAllocator Allocator;
56 LVRangesTree RangesTree;
62 LVRange() : LVObject(), RangesTree(Allocator) {}
82 bool empty()
const {
return RangeEntries.empty(); }
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
BumpPtrAllocator Allocator
LVRangeEntry(LVAddress LowerAddress, LVAddress UpperAddress, LVScope *Scope)
LVAddressRange addressRange() const
LVScope * getEntry(LVAddress Address) const
bool hasEntry(LVAddress Low, LVAddress High) const
void printExtra(raw_ostream &OS, bool Full=true) const override
const LVRangeEntries & getEntries() const
LVRange & operator=(const LVRange &)=delete
LVAddress getLower() const
LVRange(const LVRange &)=delete
void addEntry(LVScope *Scope, LVAddress LowerAddress, LVAddress UpperAddress)
LVAddress getUpper() const
This class implements an extremely fast bulk output stream that can only output to a stream.
std::vector< LVRangeEntry > LVRangeEntries
const LVAddress MaxAddress
std::pair< LVAddress, LVAddress > LVAddressRange
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)