GCC Middle and Back End API Reference
inchash::hash Class Reference

#include <inchash.h>

Public Member Functions

 hash (hashval_t seed=0)
 
hashval_t end ()
 
void add_int (unsigned v)
 
template<unsigned int N, typename T >
void add_poly_int (const poly_int< N, T > &v)
 
void add_hwi (HOST_WIDE_INT v)
 
template<unsigned int N, typename T >
void add_poly_hwi (const poly_int< N, T > &v)
 
template<typename T >
void add_wide_int (const generic_wide_int< T > &x)
 
void add_real_value (const class real_value &v)
 
void add_ptr (const void *ptr)
 
void add (const void *data, size_t len)
 
void merge_hash (hashval_t other)
 
void merge (hash &other)
 
template<class T >
void add_object (T &obj)
 
void add_flag (bool flag)
 
void commit_flag ()
 
void add_commutative (hash &a, hash &b)
 

Private Attributes

hashval_t val
 
unsigned bits
 

Constructor & Destructor Documentation

◆ hash()

inchash::hash::hash ( hashval_t seed = 0)
inline

References bits, and val.

Member Function Documentation

◆ add()

void inchash::hash::add ( const void * data,
size_t len )
inline

◆ add_commutative()

void inchash::hash::add_commutative ( hash & a,
hash & b )
inline

◆ add_flag()

◆ add_hwi()

◆ add_int()

void inchash::hash::add_int ( unsigned v)
inline

References iterative_hash_hashval_t(), and val.

Referenced by inchash::add_hashable_expr(), add_poly_int(), add_real_value(), inchash::add_rtx(), inchash::add_vrange(), add_wide_int(), build_poly_int_cst(), canon_relative_path_prefix(), commit_flag(), cselib_hash_rtx(), ipa_icf::sem_function::get_bb_hash(), ipa_icf::sem_function::get_hash(), addr_hasher::hash(), ana::asm_output_svalue::key_t::hash(), ana::binop_svalue::key_t::hash(), ana::poisoned_svalue::key_t::hash(), ana::unaryop_svalue::key_t::hash(), ana::var_arg_region::key_t::hash(), bst_traits::hash(), const_poly_int_hasher::hash(), default_hash_traits< scalar_cond_masked_key >::hash(), function_start_pair_hash::hash(), ipa_icf::sem_usage_pair_hash::hash(), ipa_icf::symbol_compare_hash::hash(), location_triplet_hash::hash(), mem_alloc_description< T >::mem_location_hash::hash(), omp_declare_variant_hasher::hash(), predictor_hash::hash(), sanopt_tree_couple_hash::hash(), test_pattern_hasher::hash(), vec_hash_base< Type >::hash(), ao_compare::hash_ao_ref(), operand_compare::hash_operand(), ipa_icf::sem_item::hash_referenced_symbol_properties(), hash_rtx(), ipa_icf::sem_function::hash_stmt(), hash_tree(), immed_wide_int_const(), ipa_icf::sem_function::init(), ipa_icf::sem_variable::init(), ipa_icf::sem_item_optimizer::read_section(), same_succ_hash(), type_hash_canon_hash(), ipa_icf::sem_item::update_hash_by_addr_refs(), ipa_icf::sem_item_optimizer::update_hash_by_memory_access_type(), vn_nary_op_compute_hash(), vn_phi_compute_hash(), vn_reference_compute_hash(), and vn_reference_op_compute_hash().

◆ add_object()

template<class T >
void inchash::hash::add_object ( T & obj)
inline

◆ add_poly_hwi()

template<unsigned int N, typename T >
void inchash::hash::add_poly_hwi ( const poly_int< N, T > & v)
inline

References add_hwi(), poly_int< N, C >::coeffs, i, and N.

Referenced by reg_attr_hasher::hash().

◆ add_poly_int()

template<unsigned int N, typename T >
void inchash::hash::add_poly_int ( const poly_int< N, T > & v)
inline

◆ add_ptr()

◆ add_real_value()

void inchash::hash::add_real_value ( const class real_value & v)
This is here instead of inchash.h to keep us from having to put
real.h in coretypes.h.   

References add_hwi(), add_int(), real_value::canonical, real_value::cl, real_value::decimal, gcc_unreachable, i, REAL_EXP, rvc_inf, rvc_nan, rvc_normal, rvc_zero, real_value::sig, real_value::sign, real_value::signalling, and SIGSZ.

Referenced by inchash::add_vrange().

◆ add_wide_int()

◆ commit_flag()

void inchash::hash::commit_flag ( )
inline

◆ end()

hashval_t inchash::hash::end ( )
inline

References val.

Referenced by avail_expr_hash(), build_bitint_type(), build_nonstandard_integer_type(), build_poly_int_cst(), canon_relative_file_name(), canon_relative_path_prefix(), cselib_hash_rtx(), ipa_icf::sem_function::get_bb_hash(), ipa_icf::sem_function::get_hash(), addr_hasher::hash(), ana::asm_output_svalue::key_t::hash(), ana::binop_svalue::key_t::hash(), ana::bit_range_region::key_t::hash(), ana::bits_within_svalue::key_t::hash(), ana::call_string::hashmap_traits_t::hash(), ana::cast_region::key_t::hash(), ana::compound_svalue::key_t::hash(), ana::concrete_binding::hash(), ana::conjured_svalue::key_t::hash(), ana::const_fn_result_svalue::key_t::hash(), ana::constant_svalue::key_t::hash(), ana::element_region::key_t::hash(), ana::field_region::key_t::hash(), ana::frame_region::key_t::hash(), ana::offset_region::key_t::hash(), ana::poisoned_svalue::key_t::hash(), ana::region_svalue::key_t::hash(), ana::repeated_svalue::key_t::hash(), ana::setjmp_svalue::key_t::hash(), ana::sized_region::key_t::hash(), ana::sub_svalue::key_t::hash(), ana::symbolic_region::key_t::hash(), ana::unaryop_svalue::key_t::hash(), ana::var_arg_region::key_t::hash(), ana::widening_svalue::key_t::hash(), bst_traits::hash(), const_poly_int_hasher::hash(), ddr_hasher::hash(), default_hash_traits< scalar_cond_masked_key >::hash(), function_start_pair_hash::hash(), ipa_icf::sem_usage_pair_hash::hash(), ipa_icf::symbol_compare_hash::hash(), ipa_vr_ggc_hash_traits::hash(), location_triplet_hash::hash(), mem_alloc_description< T >::mem_location_hash::hash(), omp_declare_variant_hasher::hash(), polymorphic_call_target_hasher::hash(), predictor_hash::hash(), refs_hasher::hash(), reg_attr_hasher::hash(), sanopt_tree_couple_hash::hash(), sanopt_tree_triplet_hash::hash(), simplifiable_subregs_hasher::hash(), test_pattern_hasher::hash(), thunk_info::hash(), vec_hash_base< Type >::hash(), hash_rtx(), hash_tree(), immed_wide_int_const(), ipa_icf::sem_function::init(), ipa_icf::sem_variable::init(), ipa_get_value_range(), iterative_hash_expr(), loc_checksum(), loc_checksum_ordered(), ipa_icf::sem_item_optimizer::read_section(), same_succ_hash(), simplifiable_subregs(), type_hash_canon_hash(), ipa_icf::sem_item::update_hash_by_addr_refs(), ipa_icf::sem_item_optimizer::update_hash_by_addr_refs(), ipa_icf::sem_item_optimizer::update_hash_by_memory_access_type(), operand_compare::verify_hash_value(), vn_hash_constant_with_type(), vn_nary_op_compute_hash(), vn_phi_compute_hash(), and vn_reference_compute_hash().

◆ merge()

void inchash::hash::merge ( hash & other)
inline

References merge_hash(), and val.

Referenced by add_commutative().

◆ merge_hash()

Field Documentation

◆ bits

unsigned inchash::hash::bits
private

Referenced by add_flag(), commit_flag(), and hash().

◆ val

hashval_t inchash::hash::val
private

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