GCC Middle and Back End API Reference
expr_hash_elt Class Reference

#include <tree-ssa-scopedtables.h>

Collaboration diagram for expr_hash_elt:

Public Member Functions

 expr_hash_elt (gimple *, tree)
 
 expr_hash_elt (tree)
 
 expr_hash_elt (struct hashable_expr *, tree)
 
 expr_hash_elt (class expr_hash_elt &)
 
 ~expr_hash_elt ()
 
void print (FILE *)
 
tree vop (void)
 
tree lhs (void)
 
struct hashable_exprexpr (void)
 
expr_hash_eltstamp (void)
 
hashval_t hash (void)
 

Private Member Functions

expr_hash_eltoperator= (const expr_hash_elt &)
 

Private Attributes

struct hashable_expr m_expr
 
tree m_lhs
 
tree m_vop
 
hashval_t m_hash
 
class expr_hash_eltm_stamp
 

Constructor & Destructor Documentation

◆ expr_hash_elt() [1/4]

◆ expr_hash_elt() [2/4]

expr_hash_elt::expr_hash_elt ( tree )

◆ expr_hash_elt() [3/4]

expr_hash_elt::expr_hash_elt ( struct hashable_expr * orig,
tree orig_lhs )
Given a hashable_expr expression ORIG and an ORIG_LHS,
construct a hash table element.   

References avail_expr_hash(), m_expr, m_hash, m_lhs, m_stamp, m_vop, and NULL_TREE.

◆ expr_hash_elt() [4/4]

expr_hash_elt::expr_hash_elt ( class expr_hash_elt & old_elt)

◆ ~expr_hash_elt()

expr_hash_elt::~expr_hash_elt ( )
Calls and PHIs have a variable number of arguments that are allocated
on the heap.  Thus we have to have a special dtor to release them.   

References hashable_expr::args, hashable_expr::call, EXPR_CALL, EXPR_PHI, free(), hashable_expr::kind, m_expr, hashable_expr::ops, and hashable_expr::phi.

Member Function Documentation

◆ expr()

◆ hash()

hashval_t expr_hash_elt::hash ( void )
inline

◆ lhs()

tree expr_hash_elt::lhs ( void )
inline

References m_lhs.

◆ operator=()

expr_hash_elt & expr_hash_elt::operator= ( const expr_hash_elt & )
private

◆ print()

◆ stamp()

expr_hash_elt * expr_hash_elt::stamp ( void )
inline

References m_stamp.

Referenced by expr_elt_hasher::equal().

◆ vop()

tree expr_hash_elt::vop ( void )
inline

References m_vop.

Field Documentation

◆ m_expr

struct hashable_expr expr_hash_elt::m_expr
private

◆ m_hash

hashval_t expr_hash_elt::m_hash
private

◆ m_lhs

tree expr_hash_elt::m_lhs
private

◆ m_stamp

class expr_hash_elt* expr_hash_elt::m_stamp
private

◆ m_vop

tree expr_hash_elt::m_vop
private

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