GCC Middle and Back End API Reference
const_double_hasher Struct Reference
Inheritance diagram for const_double_hasher:
Collaboration diagram for const_double_hasher:

Public Types

typedef Typevalue_type
 
typedef Typecompare_type
 

Static Public Member Functions

static hashval_t hash (rtx x)
 
static bool equal (rtx x, rtx y)
 
static hashval_t hash (const value_type &)
 
static bool equal (const value_type &existing, const compare_type &candidate)
 
static void mark_deleted (Type *&)
 
static void mark_empty (Type *&)
 
static bool is_deleted (Type *)
 
static bool is_empty (Type *)
 
static void ggc_maybe_mx (T &)
 
static int keep_cache_entry (T &e)
 
static void remove (T &)
 
static void ggc_mx (T &p)
 
static void pch_nx (T &p)
 
static void pch_nx (T &p, gt_pointer_operator op, void *cookie)
 

Static Public Attributes

static const bool empty_zero_p = true
 

Detailed Description

A hash table storing all CONST_DOUBLEs.   

Member Typedef Documentation

◆ compare_type

template<typename Type >
typedef Type* pointer_hash< Type >::compare_type
inherited

◆ value_type

template<typename Type >
typedef Type* pointer_hash< Type >::value_type
inherited

Member Function Documentation

◆ equal() [1/2]

template<typename Type >
bool pointer_hash< Type >::equal ( const value_type & existing,
const compare_type & candidate )
inlinestaticinherited

References candidate(), and ggc_alloc().

◆ equal() [2/2]

bool const_double_hasher::equal ( rtx x,
rtx y )
static
Returns true if the value represented by X (really a ...)
is the same as that represented by Y (really a ...)  

References a, b, CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW, CONST_DOUBLE_REAL_VALUE, GET_MODE, ggc_alloc(), real_identical(), TARGET_SUPPORTS_WIDE_INT, and y.

◆ ggc_maybe_mx()

template<typename T >
static void ggc_cache_remove< T >::ggc_maybe_mx ( T & )
inlinestaticinherited

◆ ggc_mx()

template<typename T >
static void ggc_remove< T >::ggc_mx ( T & p)
inlinestaticinherited

References gt_ggc_mx().

Referenced by ggc_remove< T >::ggc_maybe_mx().

◆ hash() [1/2]

template<typename Type >
hashval_t pointer_hash< Type >::hash ( const value_type & candidate)
inlinestaticinherited

References candidate(), and ggc_alloc().

◆ hash() [2/2]

hashval_t const_double_hasher::hash ( rtx x)
static
Returns a hash code for X (which is really a CONST_DOUBLE).   

References CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW, CONST_DOUBLE_REAL_VALUE, GET_MODE, ggc_alloc(), real_hash(), and TARGET_SUPPORTS_WIDE_INT.

◆ is_deleted()

template<typename Type >
bool pointer_hash< Type >::is_deleted ( Type * e)
inlinestaticinherited

References ggc_alloc().

◆ is_empty()

template<typename Type >
bool pointer_hash< Type >::is_empty ( Type * e)
inlinestaticinherited

References NULL.

◆ keep_cache_entry()

template<typename T >
static int ggc_cache_remove< T >::keep_cache_entry ( T & e)
inlinestaticinherited

References ggc_marked_p().

◆ mark_deleted()

template<typename Type >
void pointer_hash< Type >::mark_deleted ( Type *& e)
inlinestaticinherited

References ggc_alloc().

◆ mark_empty()

template<typename Type >
void pointer_hash< Type >::mark_empty ( Type *& e)
inlinestaticinherited

References NULL.

◆ pch_nx() [1/2]

template<typename T >
static void ggc_remove< T >::pch_nx ( T & p)
inlinestaticinherited

References gt_pch_nx().

◆ pch_nx() [2/2]

template<typename T >
static void ggc_remove< T >::pch_nx ( T & p,
gt_pointer_operator op,
void * cookie )
inlinestaticinherited

References ggc_alloc(), and NULL.

◆ remove()

template<typename T >
static void ggc_remove< T >::remove ( T & )
inlinestaticinherited

Field Documentation

◆ empty_zero_p

template<typename Type >
const bool pointer_hash< Type >::empty_zero_p = true
staticinherited

The documentation for this struct was generated from the following file: