LLVM: include/llvm/DebugInfo/DWARF/DWARFAddressRange.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_DWARF_DWARFADDRESSRANGE_H

10#define LLVM_DEBUGINFO_DWARF_DWARFADDRESSRANGE_H

11

15#include

16#include

17#include

18#include

19#include

20

21namespace llvm {

22

25

30

32

33

38

39

40

42

43

47 return false;

48

50 return false;

52 }

53

54

55

56

57

58

59

60

61

62

63

66 return false;

69 return true;

70 }

71

74 const DWARFObject *Obj = nullptr) const;

75};

76

79 return std::tie(LHS.SectionIndex, LHS.LowPC, LHS.HighPC) < std::tie(RHS.SectionIndex, RHS.LowPC, RHS.HighPC);

80}

81

84 return std::tie(LHS.SectionIndex, LHS.LowPC, LHS.HighPC) == std::tie(RHS.SectionIndex, RHS.LowPC, RHS.HighPC);

85}

86

87LLVM_ABI raw_ostream &operator<<(raw_ostream &OS, const DWARFAddressRange &R);

88

89

91

92}

93

94#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

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.

bool operator<(int64_t V1, const APSInt &V2)

bool operator==(const AddressRangeValuePair &LHS, const AddressRangeValuePair &RHS)

raw_ostream & operator<<(raw_ostream &OS, const APFixedPoint &FX)

std::vector< DWARFAddressRange > DWARFAddressRangesVector

DWARFAddressRangesVector - represents a set of absolute address ranges.

Definition DWARFAddressRange.h:90

Container for dump options that control which debug information will be dumped.

Definition DWARFAddressRange.h:26

bool valid() const

Returns true if LowPC is smaller or equal to HighPC.

Definition DWARFAddressRange.h:41

uint64_t LowPC

Definition DWARFAddressRange.h:27

bool intersects(const DWARFAddressRange &RHS) const

Returns true if [LowPC, HighPC) intersects with [RHS.LowPC, RHS.HighPC).

Definition DWARFAddressRange.h:44

uint64_t SectionIndex

Definition DWARFAddressRange.h:29

bool merge(const DWARFAddressRange &RHS)

Union two address ranges if they intersect.

Definition DWARFAddressRange.h:64

DWARFAddressRange()=default

uint64_t HighPC

Definition DWARFAddressRange.h:28

DWARFAddressRange(uint64_t LowPC, uint64_t HighPC, uint64_t SectionIndex=object::SectionedAddress::UndefSection)

Used for unit testing.

Definition DWARFAddressRange.h:34

LLVM_ABI void dump(raw_ostream &OS, uint32_t AddressSize, DIDumpOptions DumpOpts={}, const DWARFObject *Obj=nullptr) const

static const uint64_t UndefSection