struct LocallyHashedType
Declaration
struct LocallyHashedType { /* full declaration omitted */ };
Description
A locally hashed type represents a straightforward hash code of a serialized record. The record is simply serialized, and then the bytes are hashed by a standard algorithm. This is sufficient for the case of de-duplicating records within a single sequence of types, because if two records both have a back-reference to the same type in the same stream, they will both have the same numeric value for the TypeIndex of the back reference.
Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h:32
Member Variables
- public llvm::hash_code Hash
- public ArrayRef<uint8_t> RecordData
Method Overview
- public static llvm::codeview::LocallyHashedType hashType(ArrayRef<uint8_t> RecordData)
- public static std::vector<LocallyHashedType> hashTypeCollection(llvm::codeview::TypeCollection & Types)
- public template <typename Range>static std::vector<LocallyHashedType> hashTypes(Range && Records)
Methods
¶static llvm::codeview::LocallyHashedType hashType(
ArrayRef<uint8_t> RecordData)
static llvm::codeview::LocallyHashedType hashType(
ArrayRef<uint8_t> RecordData)
Description
Given a type, compute its local hash.
Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h:37
Parameters
- ArrayRef<uint8_t> RecordData
¶static std::vector<LocallyHashedType>
hashTypeCollection(
llvm::codeview::TypeCollection& Types)
static std::vector<LocallyHashedType>
hashTypeCollection(
llvm::codeview::TypeCollection& Types)
Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h:51
Parameters
¶template <typename Range>
static std::vector<LocallyHashedType> hashTypes(
Range&& Records)
template <typename Range>
static std::vector<LocallyHashedType> hashTypes(
Range&& Records)
Description
Given a sequence of types, compute all of the local hashes.
Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h:41
Templates
- Range
Parameters
- Range&& Records