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

Public Types

typedef attr_value_list * value_type
typedef attr_value_list * compare_type

Static Public Member Functions

static hashval_t hash (const attr_value_list *)
static bool equal (const attr_value_list *, const attr_value_list *)
static hashval_t hash (const value_type &)
static bool equal (const value_type &existing, const compare_type &candidate)
static void mark_deleted (attr_value_list *&)
static void mark_empty (attr_value_list *&)
static bool is_deleted (attr_value_list *)
static bool is_empty (attr_value_list *)
static void remove (attr_value_list *&)

Static Public Attributes

static const bool empty_zero_p

Detailed Description

Hash traits for the lists in INSN_CODE_VALUES.  Two lists are equal if
their insns have the same alternatives and the same value for each
attribute.   

Member Typedef Documentation

◆ compare_type

◆ value_type

Member Function Documentation

◆ equal() [1/2]

bool insn_values_hasher::equal ( const attr_value_list * list1,
const attr_value_list * list2 )
inlinestatic
Return true if the non-empty lists LIST1 and LIST2 belong to insns with
the same alternatives and have the same attribute values.   

References attr_value_list::av, insn_ent::def, attr_value_list::ie, insn_alternatives, insn_def::insn_code, and attr_value_list::next.

◆ equal() [2/2]

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

◆ hash() [1/2]

hashval_t insn_values_hasher::hash ( const attr_value_list * list)
inlinestatic
Return the hash of the insn alternatives and attribute values in the
non-empty list LIST.   

References inchash::hash::add_object(), inchash::hash::add_ptr(), attr_value_list::av, insn_ent::def, inchash::hash::end(), attr_value_list::ie, insn_alternatives, insn_def::insn_code, and attr_value_list::next.

◆ hash() [2/2]

hashval_t pointer_hash< attr_value_list >::hash ( const value_type & candidate)
inlinestaticinherited

◆ is_deleted()

◆ is_empty()

◆ mark_deleted()

void pointer_hash< attr_value_list >::mark_deleted ( attr_value_list *& e)
inlinestaticinherited

◆ mark_empty()

void pointer_hash< attr_value_list >::mark_empty ( attr_value_list *& e)
inlinestaticinherited

◆ remove()

void typed_noop_remove< attr_value_list * >::remove ( attr_value_list * & )
inlinestaticinherited
Remove doing nothing.   

Field Documentation

◆ empty_zero_p


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