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:34

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)

Description

Given a type, compute its local hash.

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h:39

Parameters

ArrayRef<uint8_t> RecordData

static std::vector<LocallyHashedType>
hashTypeCollection(
    llvm::codeview::TypeCollection& Types)

Declared at: llvm/include/llvm/DebugInfo/CodeView/TypeHashing.h:53

Parameters

llvm::codeview::TypeCollection& Types

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:43

Templates

Range

Parameters

Range&& Records