LLVM: include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_CODEVIEW_LAZYRANDOMTYPECOLLECTION_H

10#define LLVM_DEBUGINFO_CODEVIEW_LAZYRANDOMTYPECOLLECTION_H

11

21#include

22#include

23

24namespace llvm {

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

51

52 struct CacheEntry {

56 };

57

58public:

63 PartialOffsetArray PartialOffsets);

65

69

71

73

79 std::optional getFirst() override;

82

83private:

85 void ensureCapacityFor(TypeIndex Index);

86

90

91

93

94

96

99

100

102

103 std::vector Records;

104

105

106

107

108

109 PartialOffsetArray PartialOffsets;

110};

111

112}

113}

114

115#endif

This file defines the BumpPtrAllocator interface.

Lightweight arrays that are backed by an arbitrary BinaryStream.

static std::string getTypeName(OverloadKind Kind, Type *Ty)

static bool contains(SmallPtrSetImpl< ConstantExpr * > &Cache, ConstantExpr *Expr, Constant *C)

static SymbolRef::Type getType(const Symbol *Sym)

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Provides read only access to a subclass of BinaryStream.

Lightweight error class with error context and mandatory checking.

FixedStreamArray is similar to VarStreamArray, except with each record having a fixed-length.

StringRef - Represent a constant reference to a string, i.e.

Saves strings in the provided stable storage and returns a StringRef with a stable character pointer.

The instances of the Type class are immutable: once they are created, they are never changed.

std::optional< TypeIndex > getNext(TypeIndex Prev) override

std::optional< CVType > tryGetType(TypeIndex Index)

uint32_t getOffsetOfType(TypeIndex Index)

uint32_t capacity() override

bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override

std::optional< TypeIndex > getFirst() override

void reset(ArrayRef< uint8_t > Data, uint32_t RecordCountHint)

LazyRandomTypeCollection(uint32_t RecordCountHint)

CVRecord< TypeLeafKind > CVType

VarStreamArray< CVType > CVTypeArray

This is an optimization pass for GlobalISel generic memory operations.

FunctionAddr VTableAddr uintptr_t uintptr_t Data

BumpPtrAllocatorImpl<> BumpPtrAllocator

The standard BumpPtrAllocator which just uses the default template parameters.