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

Public Types

typedef edge_predictionvalue_type
 
typedef edge_predictioncompare_type
 

Static Public Member Functions

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

Static Public Attributes

static const bool empty_zero_p
 

Member Typedef Documentation

◆ compare_type

typedef edge_prediction * pointer_hash< edge_prediction >::compare_type
inherited

◆ value_type

Member Function Documentation

◆ equal() [1/2]

bool predictor_hash::equal ( const edge_prediction * p1,
const edge_prediction * p2 )
inlinestaticinherited
Return true whether edge predictions P1 and P2 use the same predictor and
have equal (or opposed probability).   

References ggc_alloc(), and REG_BR_PROB_BASE.

◆ equal() [2/2]

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

◆ hash() [1/2]

hashval_t predictor_hash::hash ( const edge_prediction * p)
inlinestaticinherited
Calculate hash value of an edge prediction P based on predictor and
normalized probability.   

References edge_prediction::ep_predictor, edge_prediction::ep_probability, ggc_alloc(), and REG_BR_PROB_BASE.

◆ hash() [2/2]

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

◆ is_deleted()

bool pointer_hash< edge_prediction >::is_deleted ( edge_prediction * e)
inlinestaticinherited

◆ is_empty()

bool pointer_hash< edge_prediction >::is_empty ( edge_prediction * e)
inlinestaticinherited

◆ mark_deleted()

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

◆ mark_empty()

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

◆ remove()

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

Field Documentation

◆ empty_zero_p

const bool pointer_hash< edge_prediction >::empty_zero_p
staticinherited

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