LLVM 20.0.0git
|
A locally hashed type represents a straightforward hash code of a serialized record. More...
#include "llvm/DebugInfo/CodeView/TypeHashing.h"
Static Public Member Functions | |
static LocallyHashedType | hashType (ArrayRef< uint8_t > RecordData) |
Given a type, compute its local hash. | |
template<typename Range > | |
static std::vector< LocallyHashedType > | hashTypes (Range &&Records) |
Given a sequence of types, compute all of the local hashes. | |
static std::vector< LocallyHashedType > | hashTypeCollection (TypeCollection &Types) |
Public Attributes | |
hash_code | Hash |
ArrayRef< uint8_t > | RecordData |
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.
Definition at line 34 of file TypeHashing.h.
|
static |
Given a type, compute its local hash.
Definition at line 28 of file TypeHashing.cpp.
References llvm::hash_value(), and RecordData.
Referenced by hashTypeCollection(), and hashTypes().
|
inlinestatic |
Definition at line 53 of file TypeHashing.h.
References hashType().
|
inlinestatic |
Given a sequence of types, compute all of the local hashes.
Definition at line 43 of file TypeHashing.h.
References hashType().
hash_code llvm::codeview::LocallyHashedType::Hash |
Definition at line 35 of file TypeHashing.h.
Referenced by llvm::DenseMapInfo< codeview::LocallyHashedType >::getHashValue().
ArrayRef<uint8_t> llvm::codeview::LocallyHashedType::RecordData |
Definition at line 36 of file TypeHashing.h.
Referenced by hashType().