LLVM
8.0.1
|
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. More... | |
template<typename Range > | |
static std::vector< LocallyHashedType > | hashTypes (Range &&Records) |
Given a sequence of types, compute all of the local hashes. More... | |
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 33 of file TypeHashing.h.
|
static |
Given a type, compute its local hash.
Definition at line 29 of file TypeHashing.cpp.
References llvm::hash_value().
Referenced by llvm::codeview::GloballyHashedType::hashIds(), llvm::codeview::GloballyHashedType::hashType(), hashTypeCollection(), llvm::codeview::GloballyHashedType::hashTypeCollection(), hashTypes(), and llvm::codeview::GloballyHashedType::hashTypes().
|
inlinestatic |
Definition at line 52 of file TypeHashing.h.
References llvm::codeview::TypeCollection::ForEachRecord(), hashType(), and llvm::codeview::CVRecord< Kind >::RecordData.
|
inlinestatic |
Given a sequence of types, compute all of the local hashes.
Definition at line 42 of file TypeHashing.h.
References llvm::sys::path::begin(), llvm::sys::path::end(), and hashType().
hash_code llvm::codeview::LocallyHashedType::Hash |
Definition at line 34 of file TypeHashing.h.
Referenced by llvm::format_provider< codeview::LocallyHashedType >::format(), llvm::DenseMapInfo< codeview::LocallyHashedType >::getHashValue(), llvm::codeview::GloballyHashedType::GloballyHashedType(), and llvm::DenseMapInfo< codeview::LocallyHashedType >::isEqual().
ArrayRef<uint8_t> llvm::codeview::LocallyHashedType::RecordData |
Definition at line 35 of file TypeHashing.h.
Referenced by llvm::DenseMapInfo< codeview::LocallyHashedType >::isEqual().