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 
     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().

hashval_t expr_elt_hasher::hash ( const value_type p)
void expr_elt_hasher::remove ( value_type element)
   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: