9#ifndef LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
10#define LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
24struct LocallyHashedType;
26class ContinuationRecordBuilder;
48 std::optional<TypeIndex>
getFirst()
override;
This file defines the BumpPtrAllocator interface.
This file defines the DenseMap class.
This file defines the SmallVector class.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Allocate memory in an ever growing pool, as if by bump-pointer.
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.
CVType getType(TypeIndex Index) override
ArrayRef< ArrayRef< uint8_t > > records() const
std::optional< TypeIndex > getFirst() override
TypeIndex nextTypeIndex() const
bool contains(TypeIndex Index) override
TypeIndex writeLeafType(T &Record)
std::optional< TypeIndex > getNext(TypeIndex Prev) override
BumpPtrAllocator & getAllocator()
TypeIndex insertRecordAs(hash_code Hash, ArrayRef< uint8_t > &Record)
bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override
~MergingTypeTableBuilder()
TypeIndex insertRecord(ContinuationRecordBuilder &Builder)
uint32_t capacity() override
TypeIndex insertRecordBytes(ArrayRef< uint8_t > &Record)
ArrayRef< uint8_t > serialize(T &Record)
An opaque object representing a hash code.
This is an optimization pass for GlobalISel generic memory operations.
StringRef getTypeName()
We provide a function which tries to compute the (demangled) name of a type statically.