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

Public Types

typedef same_succvalue_type
 
typedef same_succcompare_type
 

Static Public Member Functions

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

Data Fields

bitmap bbs
 
bitmap succs
 
bitmap inverse
 
vec< int > succ_flags
 
bool in_worklist
 
hashval_t hashval
 

Static Public Attributes

static const bool empty_zero_p
 

Detailed Description

Describes a group of bbs with the same successors.  The successor bbs are
cached in succs, and the successor edge flags are cached in succ_flags.
If a bb has the EDGE_TRUE/FALSE_VALUE flags swapped compared to succ_flags,
it's marked in inverse.
Additionally, the hash value for the struct is cached in hashval, and
in_worklist indicates whether it's currently part of worklist.   

Member Typedef Documentation

◆ compare_type

same_succ* pointer_hash< same_succ >::compare_type
inherited

◆ value_type

same_succ* pointer_hash< same_succ >::value_type
inherited

Member Function Documentation

◆ equal() [1/2]

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

◆ equal() [2/2]

◆ hash() [1/2]

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

◆ hash() [2/2]

hashval_t same_succ::hash ( const same_succ * e)
inlinestatic
hash routine for hash_table support, returns hashval of E.   

References hashval.

◆ is_deleted()

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

◆ is_empty()

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

◆ mark_deleted()

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

◆ mark_empty()

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

◆ remove()

void same_succ::remove ( same_succ * e)
static
Delete same_succ E.   

References bbs, BITMAP_FREE, inverse, succ_flags, and succs.

Referenced by find_same_succ(), and update_worklist().

Field Documentation

◆ bbs

◆ empty_zero_p

const bool pointer_hash< same_succ >::empty_zero_p
staticinherited

◆ hashval

hashval_t same_succ::hashval

◆ in_worklist

bool same_succ::in_worklist

◆ inverse

◆ succ_flags

◆ succs


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