Polly 22.0.0git
hmap_templ.c File Reference
#include <isl/ctx.h>
#include <isl/hash.h>
#include <isl/stream.h>

Go to the source code of this file.

Classes

struct  ISL_HMAP

Macros

#define ISL_xCAT(A, B)
#define ISL_CAT(A, B)
#define ISL_xFN(TYPE, NAME)
#define ISL_FN(TYPE, NAME)
#define ISL_xS(TYPE1, TYPE2, NAME)
#define ISL_yS(TYPE1, TYPE2, NAME)
#define ISL_S(NAME)

Functions

 ISL_S (pair)
__isl_give ISL_HMAPISL_FN (ISL_HMAP, alloc)
static isl_stat free_pair (void **entry, void *user)
__isl_null ISL_HMAPISL_FN (ISL_HMAP, free)
isl_ctxISL_FN (ISL_HMAP, get_ctx)
static isl_stat add_key_val (__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, void *user)
__isl_give ISL_HMAPISL_FN (ISL_HMAP, dup)
__isl_give ISL_HMAPISL_FN (ISL_HMAP, cow)
__isl_give ISL_HMAPISL_FN (ISL_HMAP, copy)
static isl_bool has_key (const void *entry, const void *c_key)
__isl_give ISL_MAYBE (ISL_VAL)
isl_bool ISL_FN (ISL_HMAP, has)
__isl_give ISL_VALISL_FN (ISL_HMAP, get)
__isl_give ISL_HMAPISL_FN (ISL_HMAP, drop)
__isl_give ISL_HMAPISL_FN (ISL_HMAP, set)
 ISL_S (foreach_data)
static isl_stat call_on_copy (void **entry, void *user)
isl_stat ISL_FN (ISL_HMAP, foreach)
 ISL_S (every_data)
static isl_bool call_on_pair (void **entry, void *user)
isl_bool ISL_FN (ISL_HMAP, every)
 ISL_S (print_data)
static isl_stat print_pair (__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, void *user)
__isl_give isl_printerISL_FN (isl_printer_print, ISL_HMAP_SUFFIX)
void ISL_FN (ISL_HMAP, dump)
__isl_give char * ISL_FN (ISL_HMAP, to_str)

Macro Definition Documentation

◆ ISL_CAT

#define ISL_CAT ( A,
B )
Value:
A()
B()
#define ISL_xCAT(A, B)
Definition hmap.h:9

Definition at line 18 of file hmap_templ.c.

◆ ISL_FN

#define ISL_FN ( TYPE,
NAME )
Value:
#define ISL_xFN(TYPE, NAME)
Definition hmap.h:11

Definition at line 20 of file hmap_templ.c.

Referenced by add_key_val(), call_on_copy(), free_pair(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_MAYBE(), and print_pair().

◆ ISL_S

#define ISL_S ( NAME)
Value:
#define ISL_yS(TYPE1, TYPE2, NAME)
Definition hmap_templ.c:22
#define ISL_VAL
#define ISL_KEY

Definition at line 23 of file hmap_templ.c.

Referenced by call_on_copy(), call_on_pair(), free_pair(), has_key(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_FN(), ISL_MAYBE(), and print_pair().

◆ ISL_xCAT

#define ISL_xCAT ( A,
B )
Value:
A ## B

Definition at line 17 of file hmap_templ.c.

◆ ISL_xFN

#define ISL_xFN ( TYPE,
NAME )
Value:
TYPE ## _ ## NAME

Definition at line 19 of file hmap_templ.c.

◆ ISL_xS

#define ISL_xS ( TYPE1,
TYPE2,
NAME )
Value:
struct isl_ ## TYPE1 ## _ ## TYPE2 ## _ ## NAME
#define TYPE2
Definition isl_map.c:9201
#define TYPE1
Definition isl_map.c:9199

Definition at line 21 of file hmap_templ.c.

◆ ISL_yS

#define ISL_yS ( TYPE1,
TYPE2,
NAME )
Value:
#define ISL_xS(TYPE1, TYPE2, NAME)
Definition hmap_templ.c:21

Definition at line 22 of file hmap_templ.c.

Function Documentation

◆ add_key_val()

isl_stat add_key_val ( __isl_take ISL_KEY * key,
__isl_take ISL_VAL * val,
void * user )
static

Definition at line 85 of file hmap_templ.c.

References __isl_take, hmap, ISL_FN, ISL_HMAP, ISL_KEY, isl_stat_error, isl_stat_ok, ISL_VAL, key, set, user, and val.

Referenced by ISL_FN().

◆ call_on_copy()

isl_stat call_on_copy ( void ** entry,
void * user )
static

Definition at line 339 of file hmap_templ.c.

References isl_hash_table_entry::data, ISL_FN, ISL_KEY, ISL_S, ISL_VAL, and user.

Referenced by FN(), FN(), FN(), FN(), ISL_FN(), and isl_union_map_foreach_map().

◆ call_on_pair()

isl_bool call_on_pair ( void ** entry,
void * user )
static

Definition at line 378 of file hmap_templ.c.

References isl_hash_table_entry::data, ISL_S, and user.

Referenced by ISL_FN().

◆ free_pair()

isl_stat free_pair ( void ** entry,
void * user )
static

Definition at line 54 of file hmap_templ.c.

References ISL_FN, ISL_KEY, ISL_S, isl_stat_ok, ISL_VAL, and user.

Referenced by ISL_FN().

◆ has_key()

isl_bool has_key ( const void * entry,
const void * c_key )
static

Definition at line 132 of file hmap_templ.c.

References ISL_KEY, ISL_KEY_IS_EQUAL, ISL_S, and key.

Referenced by ISL_FN(), ISL_FN(), and ISL_MAYBE().

◆ ISL_FN() [1/15]

__isl_give ISL_HMAP * ISL_FN ( ISL_HMAP ,
alloc  )

◆ ISL_FN() [2/15]

__isl_give ISL_HMAP * ISL_FN ( ISL_HMAP ,
copy  )

Definition at line 123 of file hmap_templ.c.

References __isl_give, __isl_keep, hmap, and ISL_HMAP.

◆ ISL_FN() [3/15]

__isl_give ISL_HMAP * ISL_FN ( ISL_HMAP ,
cow  )

Definition at line 112 of file hmap_templ.c.

References __isl_give, __isl_take, dup(), hmap, ISL_FN, and ISL_HMAP.

◆ ISL_FN() [4/15]

◆ ISL_FN() [5/15]

void ISL_FN ( ISL_HMAP ,
dump  )

◆ ISL_FN() [6/15]

__isl_give ISL_HMAP * ISL_FN ( ISL_HMAP ,
dup  )

Definition at line 98 of file hmap_templ.c.

References __isl_give, __isl_keep, add_key_val(), dup(), hmap, ISL_FN, and ISL_HMAP.

◆ ISL_FN() [7/15]

◆ ISL_FN() [8/15]

◆ ISL_FN() [9/15]

◆ ISL_FN() [10/15]

__isl_give ISL_VAL * ISL_FN ( ISL_HMAP ,
get  )

Definition at line 199 of file hmap_templ.c.

References __isl_give, __isl_keep, __isl_take, hmap, ISL_FN, ISL_HMAP, ISL_KEY, ISL_VAL, key, res, and try_get().

◆ ISL_FN() [11/15]

isl_ctx * ISL_FN ( ISL_HMAP ,
get_ctx  )

Definition at line 77 of file hmap_templ.c.

References __isl_keep, hmap, and ISL_HMAP.

◆ ISL_FN() [12/15]

isl_bool ISL_FN ( ISL_HMAP ,
has  )

Definition at line 184 of file hmap_templ.c.

References __isl_keep, hmap, ISL_FN, ISL_HMAP, ISL_KEY, ISL_MAYBE, ISL_VAL, key, res, and try_get().

◆ ISL_FN() [13/15]

◆ ISL_FN() [14/15]

◆ ISL_FN() [15/15]

◆ ISL_MAYBE()

◆ ISL_S() [1/4]

ISL_S ( every_data )

Definition at line 370 of file hmap_templ.c.

References __isl_keep, ISL_KEY, ISL_VAL, key, test, test_user(), user, and val.

◆ ISL_S() [2/4]

ISL_S ( foreach_data )

Definition at line 331 of file hmap_templ.c.

References __isl_take, fn, ISL_KEY, ISL_VAL, key, user, and val.

◆ ISL_S() [3/4]

ISL_S ( pair )

Definition at line 31 of file hmap_templ.c.

References ISL_KEY, ISL_VAL, key, and val.

◆ ISL_S() [4/4]

ISL_S ( print_data )

Definition at line 446 of file hmap_templ.c.

References p.

◆ print_pair()

isl_stat print_pair ( __isl_take ISL_KEY * key,
__isl_take ISL_VAL * val,
void * user )
static