GCC Middle and Back End API Reference
fn_id Class Reference
Inheritance diagram for fn_id:
Collaboration diagram for fn_id:

Public Types

enum  id_kind {
  CODE , FN , PREDICATE , USER ,
  NULL_ID
}
 
typedef Typevalue_type
 
typedef Typecompare_type
 

Public Member Functions

 fn_id (enum built_in_function fn_, const char *id_)
 
 fn_id (enum internal_fn fn_, const char *id_)
 

Static Public Member Functions

static hashval_t hash (const id_base *)
 
static hashval_t hash (const value_type &)
 
static int equal (const id_base *, const id_base *)
 
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 remove (Type &)
 

Data Fields

unsigned int fn
 
enum id_base::id_kind kind
 
hashval_t hashval
 
int nargs
 
const charid
 

Static Public Attributes

static const bool empty_zero_p = true
 

Detailed Description

Identifier that maps to a builtin or internal function code.   

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 Enumeration Documentation

◆ id_kind

Enumerator
CODE 
FN 
PREDICATE 
USER 
NULL_ID 

Constructor & Destructor Documentation

◆ fn_id() [1/2]

fn_id::fn_id ( enum built_in_function fn_,
const char * id_ )
inline

◆ fn_id() [2/2]

fn_id::fn_id ( enum internal_fn fn_,
const char * id_ )
inline

Member Function Documentation

◆ equal() [1/2]

int id_base::equal ( const id_base * op1,
const id_base * op2 )
inlinestaticinherited

◆ equal() [2/2]

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

References candidate(), and ggc_alloc().

◆ hash() [1/2]

hashval_t id_base::hash ( const id_base * op)
inlinestaticinherited

References id_base::hashval.

◆ hash() [2/2]

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

References candidate(), and ggc_alloc().

◆ 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.

◆ 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.

◆ remove()

template<typename Type >
void typed_noop_remove< Type >::remove ( Type & )
inlinestaticinherited
Remove doing nothing.   

Field Documentation

◆ empty_zero_p

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

◆ fn

unsigned int fn_id::fn

◆ hashval

◆ id

◆ kind

◆ nargs


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