Polly 20.0.0git
|
Go to the source code of this file.
Functions | |
uint32_t | isl_hash_string (uint32_t hash, const char *s) |
uint32_t | isl_hash_mem (uint32_t hash, const void *p, size_t len) |
static unsigned int | round_up (unsigned int v) |
int | isl_hash_table_init (struct isl_ctx *ctx, struct isl_hash_table *table, int min_size) |
static isl_bool | no (const void *entry, const void *val) |
static int | grow_table (struct isl_ctx *ctx, struct isl_hash_table *table) |
struct isl_hash_table * | isl_hash_table_alloc (struct isl_ctx *ctx, int min_size) |
void | isl_hash_table_clear (struct isl_hash_table *table) |
void | isl_hash_table_free (struct isl_ctx *ctx, struct isl_hash_table *table) |
struct isl_hash_table_entry * | isl_hash_table_find (struct isl_ctx *ctx, struct isl_hash_table *table, uint32_t key_hash, isl_bool(*eq)(const void *entry, const void *val), const void *val, int reserve) |
struct isl_hash_table_entry * | isl_hash_table_first (struct isl_hash_table *table) |
isl_stat | isl_hash_table_foreach (isl_ctx *ctx, struct isl_hash_table *table, isl_stat(*fn)(void **entry, void *user), void *user) |
isl_bool | isl_hash_table_every (isl_ctx *ctx, struct isl_hash_table *table, isl_bool(*test)(void **entry, void *user), void *user) |
void | isl_hash_table_remove (struct isl_ctx *ctx, struct isl_hash_table *table, struct isl_hash_table_entry *entry) |
Variables | |
static struct isl_hash_table_entry | none = { 0, NULL } |
struct isl_hash_table_entry * | isl_hash_table_entry_none = &none |
|
static |
Definition at line 78 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table_entry::data, isl_hash_table::entries, isl_hash_table_entry::hash, isl_calloc_array, isl_hash_table_find(), isl_hash_table::n, n, no(), and size.
Referenced by isl_hash_table_find().
uint32_t isl_hash_mem | ( | uint32_t | hash, |
const void * | p, | ||
size_t | len | ||
) |
Definition at line 22 of file isl_hash.c.
References isl_hash_byte, and p.
uint32_t isl_hash_string | ( | uint32_t | hash, |
const char * | s | ||
) |
Definition at line 15 of file isl_hash.c.
References isl_hash_byte.
Referenced by check_keywords(), id_alloc(), isl_id_alloc(), and isl_stream_register_keyword().
struct isl_hash_table * isl_hash_table_alloc | ( | struct isl_ctx * | ctx, |
int | min_size | ||
) |
Definition at line 123 of file isl_hash.c.
References isl_alloc_type, isl_hash_table_free(), isl_hash_table_init(), and min_size.
Referenced by graph_init_edge_tables(), graph_init_table(), isl_scc_graph_alloc(), isl_stream_register_keyword(), parallel_constraints(), and sh_data_alloc().
void isl_hash_table_clear | ( | struct isl_hash_table * | table | ) |
Definition at line 136 of file isl_hash.c.
References isl_hash_table::entries.
Referenced by common_constraints(), FN(), isl_ctx_free(), ISL_FN(), isl_hash_table_free(), isl_union_map_free(), and S().
isl_bool isl_hash_table_every | ( | isl_ctx * | ctx, |
struct isl_hash_table * | table, | ||
isl_bool(*)(void **entry, void *user) | test, | ||
void * | user | ||
) |
Definition at line 235 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table_entry::data, isl_hash_table::entries, isl_bool_error, isl_bool_true, size, test, and user.
Referenced by ISL_FN().
struct isl_hash_table_entry * isl_hash_table_find | ( | struct isl_ctx * | ctx, |
struct isl_hash_table * | table, | ||
uint32_t | key_hash, | ||
isl_bool(*)(const void *entry, const void *val) | eq, | ||
const void * | val, | ||
int | reserve | ||
) |
Definition at line 157 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table_entry::data, isl_hash_table::entries, equal, grow_table(), isl_hash_table_entry::hash, isl_hash_bits, isl_hash_table_entry_none, isl_hash_table_find(), isl_hash_table::n, size, and val.
Referenced by add_bound(), add_bound_from_constraint(), check_keywords(), common_constraints(), FN(), graph_edge_table_add(), graph_find_edge_entry(), graph_init_table(), grow_table(), has_constraint(), hash_ineq(), ISL_FN(), isl_hash_table_find(), isl_id_alloc(), isl_id_free(), ISL_MAYBE(), isl_scc_graph_find_edge(), isl_sched_graph_find_node(), isl_stream_register_keyword(), isl_union_map_find_entry(), parallel_constraints(), set_max_constant_term(), and update_constraint().
struct isl_hash_table_entry * isl_hash_table_first | ( | struct isl_hash_table * | table | ) |
Definition at line 199 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table_entry::data, isl_hash_table::entries, isl_hash_table_entry_none, and size.
Referenced by foreach_reachable().
isl_stat isl_hash_table_foreach | ( | isl_ctx * | ctx, |
struct isl_hash_table * | table, | ||
isl_stat(*)(void **entry, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 215 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table_entry::data, isl_hash_table::entries, fn, isl_stat_error, isl_stat_ok, size, and user.
Referenced by bin_entry(), bin_op(), FN(), foreach_reachable(), gen_bin_op(), gen_bin_set_op(), ISL_FN(), isl_map_from_union_map(), isl_scc_graph_add_reverse_edges(), isl_scc_graph_dump(), isl_scc_graph_from_sched_graph(), isl_scc_graph_merge_components(), isl_scc_graph_sub(), isl_stream_free(), isl_union_map_align_params(), isl_union_map_every_map(), isl_union_map_foreach_map(), isl_union_map_free(), isl_union_map_is_disjoint(), isl_union_map_is_subset(), isl_union_map_sample(), isl_union_set_coefficients(), isl_union_set_solutions(), match_bin_op(), next_nodes(), preimage_multi_pw_aff(), preimage_pw_multi_aff(), S(), un_op(), union_map_forall(), and union_map_forall_user().
void isl_hash_table_free | ( | struct isl_ctx * | ctx, |
struct isl_hash_table * | table | ||
) |
Definition at line 143 of file isl_hash.c.
References isl_hash_table_clear().
Referenced by isl_hash_table_alloc(), isl_scc_graph_free(), isl_sched_graph_free(), isl_stream_free(), parallel_constraints(), and sh_data_free().
int isl_hash_table_init | ( | struct isl_ctx * | ctx, |
struct isl_hash_table * | table, | ||
int | min_size | ||
) |
Definition at line 42 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table::entries, isl_calloc_array, min_size, isl_hash_table::n, round_up(), and size.
Referenced by common_constraints(), FN(), isl_ctx_alloc_with_options(), ISL_FN(), isl_hash_table_alloc(), and isl_union_map_alloc().
void isl_hash_table_remove | ( | struct isl_ctx * | ctx, |
struct isl_hash_table * | table, | ||
struct isl_hash_table_entry * | entry | ||
) |
Definition at line 258 of file isl_hash.c.
References isl_hash_table::bits, isl_hash_table_entry::data, isl_hash_table::entries, isl_hash_table_entry::hash, isl_assert, isl_hash_bits, isl_hash_table::n, offset, and size.
Referenced by FN(), graph_remove_edge(), ISL_FN(), isl_id_free(), isl_scc_graph_remove_edge(), and update_constraint().
|
static |
Definition at line 66 of file isl_hash.c.
References isl_bool_false.
Referenced by grow_table(), print_arg_help(), and print_bool_help().
|
static |
Definition at line 31 of file isl_hash.c.
Referenced by isl_hash_table_init().
struct isl_hash_table_entry* isl_hash_table_entry_none = &none |
Definition at line 155 of file isl_hash.c.
Referenced by add_bound(), add_bound_from_constraint(), bin_try_get_match(), check_keywords(), FN(), graph_find_edge(), graph_remove_edge(), has_constraint(), is_disjoint_entry(), is_subset_entry(), ISL_FN(), isl_hash_table_find(), isl_hash_table_first(), isl_id_free(), ISL_MAYBE(), isl_scc_graph_remove_edge(), isl_sched_graph_find_node(), isl_union_map_contains(), isl_union_map_extract_map(), match_bin_entry(), set_max_constant_term(), and update_constraint().
|
static |
Definition at line 154 of file isl_hash.c.
Referenced by graph_find_edge().