LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | List of all members
llvm::DIEHash Class Reference

An object containing the capability of hashing and adding hash attributes onto a DIE. More...

#include <DIEHash.h>

Public Member Functions

uint64_t computeDIEODRSignature (const DIE &Die)
 Computes the ODR signature. More...
 
uint64_t computeCUSignature (const DIE &Die)
 Computes the CU signature. More...
 
uint64_t computeTypeSignature (const DIE &Die)
 Computes the type signature. More...
 

Detailed Description

An object containing the capability of hashing and adding hash attributes onto a DIE.

Definition at line 24 of file DIEHash.h.

Member Function Documentation

uint64_t DIEHash::computeCUSignature ( const DIE Die)

Computes the CU signature.

This is based on the type signature computation given in section 7.27 of the DWARF4 standard. It is an md5 hash of the flattened description of the DIE with the inclusion of the full CU and all top level CU entities.

Definition at line 468 of file DIEHash.cpp.

References llvm::MD5::final().

uint64_t DIEHash::computeDIEODRSignature ( const DIE Die)

Computes the ODR signature.

This is based on the type signature computation given in section 7.27 of the DWARF4 standard. It is the md5 hash of a flattened description of the DIE with the exception that we are hashing only the context and the name of the type.

Definition at line 436 of file DIEHash.cpp.

References llvm::MD5::final(), getDIEStringAttr(), llvm::DIE::getParent(), and llvm::DIE::getTag().

uint64_t DIEHash::computeTypeSignature ( const DIE Die)

Computes the type signature.

This is based on the type signature computation given in section 7.27 of the DWARF4 standard. It is an md5 hash of the flattened description of the DIE with the inclusion of additional forms not specifically called out in the standard.

Definition at line 489 of file DIEHash.cpp.

References llvm::MD5::final(), and llvm::DIE::getParent().


The documentation for this class was generated from the following files: