LLVM: lib/DebugInfo/GSYM/ExtractRanges.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

12#include <inttypes.h>

13

14namespace llvm {

15namespace gsym {

16

19 O.writeULEB(Range.start() - BaseAddr);

20 O.writeULEB(Range.size());

21}

22

27 const uint64_t StartAddr = BaseAddr + AddrOffset;

28

29 return {StartAddr, StartAddr + Size};

30}

31

34 O.writeULEB(Ranges.size());

35 if (Ranges.empty())

36 return;

37 for (auto Range : Ranges)

39}

40

43 Ranges.clear();

45 Ranges.reserve(NumRanges);

46 for (uint64_t RangeIdx = 0; RangeIdx < NumRanges; RangeIdx++)

48}

49

54

61

62}

63

65 return OS << '[' << HEX64(R.start()) << " - " << HEX64(R.end()) << ")";

66}

67

70 for (size_t I = 0; I < Size; ++I) {

71 if (I)

72 OS << ' ';

73 OS << AR[I];

74 }

75 return OS;

76}

77

78}

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

ConstantRange Range(APInt(BitWidth, Low), APInt(BitWidth, High))

A class that represents an address range.

The AddressRanges class helps normalize address range collections.

A simplified binary data writer class that doesn't require targets, target definitions,...

This class implements an extremely fast bulk output stream that can only output to a stream.

LLVM_ABI AddressRange decodeRange(DataExtractor &Data, uint64_t BaseAddr, uint64_t &Offset)

AddressRange objects are encoded and decoded to be relative to a base address.

Definition ExtractRanges.cpp:23

LLVM_ABI void encodeRanges(const AddressRanges &Ranges, FileWriter &O, uint64_t BaseAddr)

Definition ExtractRanges.cpp:32

LLVM_ABI void decodeRanges(AddressRanges &Ranges, DataExtractor &Data, uint64_t BaseAddr, uint64_t &Offset)

Address ranges are decoded and encoded to be relative to a base address.

Definition ExtractRanges.cpp:41

LLVM_ABI uint64_t skipRanges(DataExtractor &Data, uint64_t &Offset)

Skip an address range object in the specified data a the specified offset.

Definition ExtractRanges.cpp:55

LLVM_ABI void encodeRange(const AddressRange &Range, FileWriter &O, uint64_t BaseAddr)

Definition ExtractRanges.cpp:17

LLVM_ABI void skipRange(DataExtractor &Data, uint64_t &Offset)

Skip an address range object in the specified data a the specified offset.

Definition ExtractRanges.cpp:50

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr uintptr_t uintptr_t Data

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