Polly 19.0.0git
Classes | Macros | Functions | Variables
isl_id.c File Reference
#include <string.h>
#include <isl_ctx_private.h>
#include <isl_id_private.h>
#include <isl_list_templ.c>
#include <isl_list_read_templ.c>
#include "isl_read_from_str_templ.c"
#include <isl_multi_no_domain_templ.c>
#include <isl_multi_no_explicit_domain.c>
#include <isl_multi_templ.c>

Go to the source code of this file.

Classes

struct  isl_name_and_user
 

Macros

#define EL_BASE   id
 
#define TYPE_BASE   id
 
#define BASE   id
 

Functions

isl_ctxisl_id_get_ctx (__isl_keep isl_id *id)
 
void * isl_id_get_user (__isl_keep isl_id *id)
 
const char * isl_id_get_name (__isl_keep isl_id *id)
 
static __isl_give isl_idid_alloc (isl_ctx *ctx, const char *name, void *user)
 
uint32_t isl_id_get_hash (__isl_keep isl_id *id)
 
static isl_bool isl_id_has_name_and_user (const void *entry, const void *val)
 
__isl_give isl_idisl_id_alloc (isl_ctx *ctx, const char *name, void *user)
 
__isl_give isl_idisl_id_copy (isl_id *id)
 
int isl_id_cmp (__isl_keep isl_id *id1, __isl_keep isl_id *id2)
 
static isl_bool isl_id_eq (const void *entry, const void *name)
 
uint32_t isl_hash_id (uint32_t hash, __isl_keep isl_id *id)
 
__isl_give isl_idisl_id_set_free_user (__isl_take isl_id *id, void(*free_user)(void *user))
 
__isl_null isl_idisl_id_free (__isl_take isl_id *id)
 
__isl_give isl_printerisl_printer_print_id (__isl_take isl_printer *p, __isl_keep isl_id *id)
 
__isl_give isl_idisl_stream_read_id (__isl_keep isl_stream *s)
 
static isl_bool isl_id_plain_is_equal (__isl_keep isl_id *id1, __isl_keep isl_id *id2)
 

Variables

isl_id isl_id_none
 
void(*)(void *userisl_id_get_free_user (__isl_keep isl_id *id)
 

Macro Definition Documentation

◆ BASE

#define BASE   id

Definition at line 304 of file isl_id.c.

◆ EL_BASE

#define EL_BASE   id

Definition at line 15 of file isl_id.c.

◆ TYPE_BASE

#define TYPE_BASE   id

Definition at line 287 of file isl_id.c.

Function Documentation

◆ id_alloc()

static __isl_give isl_id * id_alloc ( isl_ctx ctx,
const char *  name,
void *  user 
)
static

Definition at line 46 of file isl_id.c.

References id, isl_calloc_type, isl_ctx_ref(), isl_hash_builtin, isl_hash_init, isl_hash_string(), name, and user.

Referenced by isl_id_alloc().

◆ isl_hash_id()

uint32_t isl_hash_id ( uint32_t  hash,
__isl_keep isl_id id 
)

Definition at line 173 of file isl_id.c.

References id, and isl_hash_hash.

Referenced by isl_hash_params(), isl_hash_tuples(), and isl_hash_tuples_domain().

◆ isl_id_alloc()

__isl_give isl_id * isl_id_alloc ( isl_ctx ctx,
const char *  name,
void *  user 
)

◆ isl_id_cmp()

int isl_id_cmp ( __isl_keep isl_id id1,
__isl_keep isl_id id2 
)

Definition at line 147 of file isl_id.c.

References cmp().

Referenced by isl_space_cmp(), and isl_space_cmp_type().

◆ isl_id_copy()

__isl_give isl_id * isl_id_copy ( isl_id id)

◆ isl_id_eq()

static isl_bool isl_id_eq ( const void *  entry,
const void *  name 
)
static

Definition at line 168 of file isl_id.c.

References isl_bool_ok(), and name.

Referenced by isl_id_free().

◆ isl_id_free()

__isl_null isl_id * isl_id_free ( __isl_take isl_id id)

Definition at line 207 of file isl_id.c.

References id, isl_ctx_deref(), isl_die, isl_error_unknown, isl_hash_table_entry_none, isl_hash_table_find(), isl_hash_table_remove(), and isl_id_eq().

Referenced by polly::ScopBuilder::addUserAssumptions(), after_for(), already_printed_once(), astBuildAfterFor(), astBuildAfterMark(), build_ast_from_mark(), check_fresh_params(), collect_cluster_map(), polly::IslExprBuilder::createAccessAddress(), polly::IslNodeBuilder::createForParallel(), polly::IslExprBuilder::createId(), polly::IslNodeBuilder::createMark(), polly::IslNodeBuilder::createSubstitutionsVector(), polly::IslNodeBuilder::createUser(), equate_params(), extract_node(), FN(), get_note(), get_op_str_c(), graph_find_compressed_node(), importAccesses(), isl_aff_param_on_domain_space_id(), isl_aff_set_dim_id(), isl_aff_set_tuple_id(), isl_ast_expr_free(), isl_ast_expr_from_id(), isl_ast_expr_op_type_set_print_name(), isl_ast_graft_insert_mark(), isl_ast_node_alloc_for(), isl_ast_node_alloc_mark(), isl_ast_node_free(), isl_local_space_set_dim_id(), isl_local_space_set_tuple_id(), isl_parameter_alignment_reordering(), isl_printer_get_note(), isl_printer_set_note(), isl_pw_aff_bind_id(), isl_reordering_unbind_params_insert_domain(), isl_schedule_node_group(), isl_schedule_tree_free(), isl_schedule_tree_from_mark(), isl_space_add_param_id(), isl_space_drop_dims(), isl_space_free(), isl_space_map_from_set(), isl_space_reset(), isl_space_reset_dim_id(), isl_space_reset_tuple_id(), isl_space_reset_user(), isl_space_set_dim_id(), isl_space_set_tuple_id(), isl_space_unbind_params_insert_domain(), isl_space_underlying(), isl_union_pw_aff_bind_id(), map_equate_params(), polly::IslNodeBuilder::materializeValue(), polly::IslNodeBuilder::preloadInvariantEquivClass(), print_ast_expr_isl(), print_for_c(), read_for(), read_mark(), set_id(), test_list(), and isl::id::~id().

◆ isl_id_get_ctx()

isl_ctx * isl_id_get_ctx ( __isl_keep isl_id id)

◆ isl_id_get_hash()

uint32_t isl_id_get_hash ( __isl_keep isl_id id)

Definition at line 75 of file isl_id.c.

◆ isl_id_get_name()

const char * isl_id_get_name ( __isl_keep isl_id id)

◆ isl_id_get_user()

void * isl_id_get_user ( __isl_keep isl_id id)

◆ isl_id_has_name_and_user()

static isl_bool isl_id_has_name_and_user ( const void *  entry,
const void *  val 
)
static

◆ isl_id_plain_is_equal()

static isl_bool isl_id_plain_is_equal ( __isl_keep isl_id id1,
__isl_keep isl_id id2 
)
static

Definition at line 295 of file isl_id.c.

References isl_bool_error.

◆ isl_id_set_free_user()

__isl_give isl_id * isl_id_set_free_user ( __isl_take isl_id id,
void(*)(void *user free_user 
)

Definition at line 183 of file isl_id.c.

References free_user(), isl_id::free_user, and id.

Referenced by alloc_note(), astBuildBeforeFor(), AtEachDomain(), and polly::getIslLoopAttr().

◆ isl_printer_print_id()

__isl_give isl_printer * isl_printer_print_id ( __isl_take isl_printer p,
__isl_keep isl_id id 
)

Definition at line 240 of file isl_id.c.

References id, isl_printer_free(), isl_printer_print_str(), and p.

Referenced by print_ast_expr_isl(), print_ast_node_isl(), and print_dim_mi().

◆ isl_stream_read_id()

__isl_give isl_id * isl_stream_read_id ( __isl_keep isl_stream s)

Variable Documentation

◆ isl_id_get_free_user

void(*)(void *user) isl_id_get_free_user(__isl_keep isl_id *id) ( __isl_keep isl_id id)

Definition at line 197 of file isl_id.c.

◆ isl_id_none

isl_id isl_id_none
Initial value:
= {
.ref = -1,
.ctx = NULL,
.name = "#none",
.user = NULL
}

Definition at line 24 of file isl_id.c.

Referenced by isl_hash_tuples_domain(), isl_space_is_map(), isl_space_is_params(), isl_space_is_set(), mark_as_params(), and mark_as_set().