9#ifndef LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
10#define LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
49 std::optional<TypeIndex>
getFirst()
override;
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)
std::optional< TypeIndex > getNext(TypeIndex Prev) override
BumpPtrAllocator & getAllocator()
bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override
~MergingTypeTableBuilder()
uint32_t capacity() 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.
BumpPtrAllocatorImpl BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
FunctionAddr VTableAddr uintptr_t uintptr_t Data
A locally hashed type represents a straightforward hash code of a serialized record.