GCC Middle and Back End API Reference
expr_elt_hasher Struct Reference

Public Types

typedef expr_hash_elt value_type
typedef expr_hash_elt compare_type

Static Public Member Functions

static hashval_t hash (const value_type *)
static bool equal (const value_type *, const compare_type *)
static void remove (value_type *)

Member Typedef Documentation


Member Function Documentation

bool expr_elt_hasher::equal ( const value_type p1,
const compare_type p2 
)
inlinestatic
 This case should apply only when removing entries from the table.   
 FIXME tuples:
 We add stmts to a hash table and them modify them. To detect the case
 that we modify a stmt and then search for it, we assume that the hash
 is always modified by that change.
 We have to fully check why this doesn't happen on trunk or rewrite
 this in a more  reliable (and easier to understand) way.  
 In case of a collision, both RHS have to be identical and have the
 same VUSE operands.   
     Note that STMT1 and/or STMT2 may be NULL.   

References gimple_vuse(), and NULL_TREE.

hashval_t expr_elt_hasher::hash ( const value_type p)
inlinestatic
void expr_elt_hasher::remove ( value_type element)
inlinestatic

Delete an expr_hash_elt and reclaim its storage.

References opt_stats_d::num_exprs_considered, opt_stats_d::num_re, and opt_stats_d::num_stmts.


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