Go to the documentation of this file.
9 #ifndef LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
10 #define LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
24 struct LocallyHashedType;
26 class ContinuationRecordBuilder;
48 std::optional<TypeIndex>
getFirst()
override;
78 #endif // LLVM_DEBUGINFO_CODEVIEW_MERGINGTYPETABLEBUILDER_H
This is an optimization pass for GlobalISel generic memory operations.
uint32_t capacity() override
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
CVType getType(TypeIndex Index) override
bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override
std::optional< TypeIndex > getNext(TypeIndex Prev) override
~MergingTypeTableBuilder()
TypeIndex nextTypeIndex() const
TypeIndex insertRecordBytes(ArrayRef< uint8_t > &Record)
TypeIndex writeLeafType(T &Record)
Allocate memory in an ever growing pool, as if by bump-pointer.
std::optional< TypeIndex > getFirst() override
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
StringRef - Represent a constant reference to a string, i.e.
bool contains(TypeIndex Index) override
StringRef getTypeName(TypeIndex Index) override
BumpPtrAllocator & getAllocator()
ArrayRef< uint8_t > serialize(T &Record)
TypeIndex insertRecordAs(hash_code Hash, ArrayRef< uint8_t > &Record)
TypeIndex insertRecord(ContinuationRecordBuilder &Builder)
ArrayRef< ArrayRef< uint8_t > > records() const
An opaque object representing a hash code.
MergingTypeTableBuilder(BumpPtrAllocator &Storage)