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)