GCC Middle and Back End API Reference
inchash::hash Class Reference

#include <inchash.h>

Public Member Functions

 hash (hashval_t seed=0)
 
hashval_t end ()
 
void add_int (unsigned v)
 
template<unsigned int N, typename T >
void add_poly_int (const poly_int< N, T > &v)
 
void add_hwi (HOST_WIDE_INT v)
 
template<unsigned int N, typename T >
void add_poly_hwi (const poly_int< N, T > &v)
 
template<typename T >
void add_wide_int (const generic_wide_int< T > &x)
 
void add_real_value (const class real_value &v)
 
void add_ptr (const void *ptr)
 
void add (const void *data, size_t len)
 
void merge_hash (hashval_t other)
 
void merge (hash &other)
 
template<class T >
void add_object (T &obj)
 
void add_flag (bool flag)
 
void commit_flag ()
 
void add_commutative (hash &a, hash &b)
 

Private Attributes

hashval_t val
 
unsigned bits
 

Constructor & Destructor Documentation

◆ hash()

inchash::hash::hash ( hashval_t seed = 0)
inline

References bits, ggc_alloc(), and val.

Member Function Documentation

◆ add()

void inchash::hash::add ( const void * data,
size_t len )
inline

References ggc_alloc(), and val.

Referenced by add_object(), and add_ptr().

◆ add_commutative()

void inchash::hash::add_commutative ( hash & a,
hash & b )
inline

References a, b, and merge().

◆ add_flag()

void inchash::hash::add_flag ( bool flag)
inline

References bits.

◆ add_hwi()

void inchash::hash::add_hwi ( HOST_WIDE_INT v)
inline

◆ add_int()

void inchash::hash::add_int ( unsigned v)
inline

◆ add_object()

template<class T >
void inchash::hash::add_object ( T & obj)
inline

References add().

◆ add_poly_hwi()

template<unsigned int N, typename T >
void inchash::hash::add_poly_hwi ( const poly_int< N, T > & v)
inline

References add_hwi(), poly_int< N, C >::coeffs, i, and N.

◆ add_poly_int()

template<unsigned int N, typename T >
void inchash::hash::add_poly_int ( const poly_int< N, T > & v)
inline

References add_int(), poly_int< N, C >::coeffs, i, and N.

◆ add_ptr()

void inchash::hash::add_ptr ( const void * ptr)
inline

References add().

Referenced by mem_location::hash().

◆ add_real_value()

void inchash::hash::add_real_value ( const class real_value & v)
This is here instead of inchash.h to keep us from having to put
real.h in coretypes.h.   

References add_hwi(), add_int(), real_value::canonical, real_value::cl, real_value::decimal, gcc_unreachable, i, REAL_EXP, rvc_inf, rvc_nan, rvc_normal, rvc_zero, real_value::sig, real_value::sign, real_value::signalling, and SIGSZ.

◆ add_wide_int()

template<typename T >
void inchash::hash::add_wide_int ( const generic_wide_int< T > & x)
inline

◆ commit_flag()

void inchash::hash::commit_flag ( )
inline

References add_int(), and bits.

◆ end()

hashval_t inchash::hash::end ( )
inline

References val.

◆ merge()

void inchash::hash::merge ( hash & other)
inline

References merge_hash(), and val.

Referenced by add_commutative().

◆ merge_hash()

void inchash::hash::merge_hash ( hashval_t other)
inline

References iterative_hash_hashval_t(), and val.

Referenced by merge().

Field Documentation

◆ bits

unsigned inchash::hash::bits
private

Referenced by add_flag(), commit_flag(), and hash().

◆ val

hashval_t inchash::hash::val
private

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