#include <sys/types.h>#include <stdio.h>#include "libiberty.h"#include "ansidecl.h"#include "hashtab.h"

Go to the source code of this file.
| #define htab_elements | ( | htab | ) | ((htab)->n_elements - (htab)->n_deleted) |
Definition at line 228 of file hashtab.c.
Referenced by add_mapping(), apply_mode_maps(), collect_pattern_seqs(), compute_bb_dataflow(), dump_chrecs_stats(), dump_hash_table(), dump_vars(), emit_notes_in_bb(), gcse_after_reload_main(), htab_elements(), htab_expand(), htab_statistics(), htab_traverse(), mangle_conv_op_name_for_type(), mark_constant_pool(), mode_attr_index(), print_debug_expr_statistics(), print_restrict_base_statistics(), print_type_hash_statistics(), print_value_expr_statistics(), see_commit_changes(), see_execute_LCM(), see_pre_insert_extensions(), see_seek_pre_extension_expr(), vt_emit_notes(), and write_conditions().
| #define htab_size | ( | htab | ) | ((htab)->size) |
Definition at line 218 of file hashtab.c.
Referenced by dump_hash_table(), find_empty_slot_for_expand(), first_htab_element(), htab_clear_slot(), htab_delete(), htab_empty(), htab_find_slot_with_hash(), htab_find_with_hash(), htab_size(), htab_statistics(), htab_traverse(), htab_traverse_noresize(), print_debug_expr_statistics(), print_restrict_base_statistics(), print_type_hash_statistics(), and print_value_expr_statistics().
Value:
{ \
a -= b; a -= c; a ^= (c>>13); \
b -= c; b -= a; b ^= (a<< 8); \
c -= a; c -= b; c ^= ((b&0xffffffff)>>13); \
a -= b; a -= c; a ^= ((c&0xffffffff)>>12); \
b -= c; b -= a; b = (b ^ (a<<16)) & 0xffffffff; \
c -= a; c -= b; c = (c ^ (b>> 5)) & 0xffffffff; \
a -= b; a -= c; a = (a ^ (c>> 3)) & 0xffffffff; \
b -= c; b -= a; b = (b ^ (a<<10)) & 0xffffffff; \
c -= a; c -= b; c = (c ^ (b>>15)) & 0xffffffff; \
}
Definition at line 456 of file hashtab.c.
References abort, HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_mod(), htab_mod_m2(), htab_size, index(), PTR, and size.
| static unsigned int higher_prime_index | ( | unsigned long | n | ) | [static] |
Definition at line 718 of file hashtab.c.
References abort, HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, and htab_size.
| htab_t htab_create_alloc | ( | size_t | size, | |
| htab_hash | hash_f, | |||
| htab_eq | eq_f, | |||
| htab_del | del_f, | |||
| htab_alloc | alloc_f, | |||
| htab_free | free_f | |||
| ) |
Definition at line 288 of file hashtab.c.
References higher_prime_index(), NULL, prime_ent::prime, PTR, and result.
| htab_t htab_create_alloc_ex | ( | size_t | size, | |
| htab_hash | hash_f, | |||
| htab_eq | eq_f, | |||
| htab_del | del_f, | |||
| void * | alloc_arg, | |||
| htab_alloc_with_arg | alloc_f, | |||
| htab_free_with_arg | free_f | |||
| ) |
Definition at line 321 of file hashtab.c.
References higher_prime_index(), NULL, prime_ent::prime, PTR, and result.
Definition at line 387 of file hashtab.c.
References DELETED_ENTRY, EMPTY_ENTRY, HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_size, i, NULL, PTR, and size.
Definition at line 413 of file hashtab.c.
References DELETED_ENTRY, EMPTY_ENTRY, higher_prime_index(), HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_size, i, memset, NULL, prime_ent::prime, PTR, and size.
| static int htab_expand | ( | htab_t | htab | ) | [static] |
Definition at line 492 of file hashtab.c.
References find_empty_slot_for_expand(), higher_prime_index(), HTAB_DELETED_ENTRY, htab_elements, HTAB_EMPTY_ENTRY, NULL, p, prime_ent::prime, PTR, q, and x.
| PTR* htab_find_slot | ( | htab_t | htab, | |
| const PTR | element, | |||
| enum insert_option | insert | |||
| ) |
| PTR* htab_find_slot_with_hash | ( | htab_t | htab, | |
| const PTR | element, | |||
| hashval_t | hash, | |||
| enum insert_option | insert | |||
| ) |
Definition at line 608 of file hashtab.c.
References HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_expand(), htab_mod(), htab_mod_m2(), htab_size, index(), INSERT, NO_INSERT, NULL, PTR, and size.
Definition at line 560 of file hashtab.c.
References HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_mod(), htab_mod_m2(), htab_size, index(), PTR, and size.
Definition at line 267 of file hashtab.c.
References htab_mod_1(), prime_ent::inv, p, prime_ent::prime, and prime_ent::shift.
Definition at line 276 of file hashtab.c.
References htab_mod_1(), prime_ent::inv_m2, p, prime_ent::prime, and prime_ent::shift.
Definition at line 698 of file hashtab.c.
References HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_find_slot_with_hash(), NO_INSERT, and PTR.
| void htab_set_functions_ex | ( | htab_t | htab, | |
| htab_hash | hash_f, | |||
| htab_eq | eq_f, | |||
| htab_del | del_f, | |||
| PTR | alloc_arg, | |||
| htab_alloc_with_arg | alloc_f, | |||
| htab_free_with_arg | free_f | |||
| ) |
Definition at line 760 of file hashtab.c.
References htab_elements, htab_expand(), htab_size, and htab_traverse_noresize().
Definition at line 737 of file hashtab.c.
References HTAB_DELETED_ENTRY, HTAB_EMPTY_ENTRY, htab_size, PTR, and x.
| htab_eq htab_eq_pointer = eq_pointer |
Definition at line 80 of file hashtab.c.
Referenced by cgraph_decide_inlining(), detect_field_duplicates(), finalize_nrv(), find_referenced_vars(), fold_build1_stat(), fold_build2_stat(), fold_build3_stat(), for_each_template_parm(), GTY(), i386_pe_section_type_flags(), instantiate_decl(), optimize_inline_calls(), used_types_insert_helper(), verify_stmt_tree(), verify_stmts(), and walk_tree_without_duplicates().
| htab_hash htab_hash_pointer = hash_pointer |
Definition at line 79 of file hashtab.c.
Referenced by browse_tree(), cgraph_create_edge(), cgraph_decide_inlining(), cgraph_edge(), cgraph_edge_remove_caller(), cgraph_set_call_stmt(), decl_debug_expr_insert(), decl_debug_expr_lookup(), decl_init_priority_insert(), decl_init_priority_lookup(), decl_restrict_base_insert(), decl_restrict_base_lookup(), decl_shadowed_for_var_insert(), decl_value_expr_insert(), decl_value_expr_lookup(), def_blocks_hash(), detect_field_duplicates(), edge_hash(), edge_to_cases_hash(), finalize_nrv(), find_referenced_vars(), fold_build1_stat(), fold_build2_stat(), fold_build3_stat(), for_each_template_parm(), GTY(), hash_local_specialization(), heapvar_insert(), heapvar_lookup(), htab_hash_elem(), i386_pe_section_type_flags(), insns_for_mem_hash(), instantiate_decl(), int_cst_hash_hash(), leading_ptr_hash(), mangle_conv_op_name_for_type(), nfe_hash(), niter_for_exit(), optimize_inline_calls(), register_local_specialization(), repl_map_hash(), replace_uses_equiv_to_x_with_y(), retrieve_local_specialization(), si_info_hash(), size_htab_hash(), tree_id_hash(), tree_int_map_hash(), typename_hash(), used_types_insert_helper(), var_map_hash(), ve_info_hash(), verify_stmt_tree(), verify_stmts(), and walk_tree_without_duplicates().
1.5.6