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

1

2

3

4

5

6

7

8

9#ifndef LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H

10#define LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H

11

21#include

22

23namespace llvm {

26

28

30

32

33

34

35

37

38

40

41

43

44public:

47

48

49 std::optional getFirst() override;

57

58

61

63

65

69

74};

75

76}

77}

78

79#endif

This file defines the BumpPtrAllocator interface.

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

This file defines the DenseMap class.

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

This file defines the SmallVector class.

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

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

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

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

std::optional< TypeIndex > getFirst() override

MergingTypeTableBuilder(BumpPtrAllocator &Storage)

TypeIndex nextTypeIndex() const

TypeIndex writeLeafType(T &Record)

Definition MergingTypeTableBuilder.h:70

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

BumpPtrAllocator & getAllocator()

Definition MergingTypeTableBuilder.h:62

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

uint32_t capacity() override

~MergingTypeTableBuilder() override

TypeIndex insertRecordBytes(ArrayRef< uint8_t > &Record)

An opaque object representing a hash code.

CVRecord< TypeLeafKind > CVType

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.

A locally hashed type represents a straightforward hash code of a serialized record.