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.