Polly 22.0.0git
isl_local_space.c File Reference

Go to the source code of this file.

Macros

#define TYPE   isl_local_space
#define TYPE   isl_local_space

Functions

isl_ctxisl_local_space_get_ctx (__isl_keep isl_local_space *ls)
uint32_t isl_local_space_get_hash (__isl_keep isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_alloc_div (__isl_take isl_space *space, __isl_take isl_mat *div)
__isl_give isl_local_spaceisl_local_space_alloc (__isl_take isl_space *space, unsigned n_div)
__isl_give isl_local_spaceisl_local_space_from_space (__isl_take isl_space *space)
__isl_give isl_local_spaceisl_local_space_copy (__isl_keep isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_dup (__isl_keep isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_cow (__isl_take isl_local_space *ls)
__isl_null isl_local_spaceisl_local_space_free (__isl_take isl_local_space *ls)
isl_bool isl_local_space_is_params (__isl_keep isl_local_space *ls)
isl_bool isl_local_space_is_set (__isl_keep isl_local_space *ls)
static isl_stat isl_local_space_check_has_space (__isl_keep isl_local_space *ls, __isl_keep isl_space *space)
isl_bool isl_local_space_is_equal (__isl_keep isl_local_space *ls1, __isl_keep isl_local_space *ls2)
int isl_local_space_cmp (__isl_keep isl_local_space *ls1, __isl_keep isl_local_space *ls2)
isl_size isl_local_space_dim (__isl_keep isl_local_space *ls, enum isl_dim_type type)
isl_size isl_local_space_var_offset (__isl_keep isl_local_space *ls, enum isl_dim_type type)
unsigned isl_local_space_offset (__isl_keep isl_local_space *ls, enum isl_dim_type type)
int isl_local_space_find_dim_by_name (__isl_keep isl_local_space *ls, enum isl_dim_type type, const char *name)
isl_bool isl_local_space_has_dim_name (__isl_keep isl_local_space *ls, enum isl_dim_type type, unsigned pos)
const char * isl_local_space_get_dim_name (__isl_keep isl_local_space *ls, enum isl_dim_type type, unsigned pos)
isl_bool isl_local_space_has_dim_id (__isl_keep isl_local_space *ls, enum isl_dim_type type, unsigned pos)
__isl_give isl_idisl_local_space_get_dim_id (__isl_keep isl_local_space *ls, enum isl_dim_type type, unsigned pos)
static __isl_give isl_affextract_div (__isl_keep isl_local_space *ls, int pos)
static __isl_give isl_affdrop_unknown_divs_and_extract_div (__isl_keep isl_local_space *ls, int pos)
__isl_give isl_affisl_local_space_get_div (__isl_keep isl_local_space *ls, int pos)
__isl_keep isl_spaceisl_local_space_peek_space (__isl_keep isl_local_space *ls)
__isl_give isl_spaceisl_local_space_get_space (__isl_keep isl_local_space *ls)
__isl_give isl_spaceisl_local_space_take_space (__isl_keep isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_restore_space (__isl_take isl_local_space *ls, __isl_take isl_space *space)
__isl_keep isl_localisl_local_space_peek_local (__isl_keep isl_local_space *ls)
__isl_keep isl_localisl_local_space_get_local (__isl_keep isl_local_space *ls)
static __isl_give isl_localisl_local_space_take_local (__isl_keep isl_local_space *ls)
static __isl_give isl_local_spaceisl_local_space_restore_local (__isl_take isl_local_space *ls, __isl_take isl_local *local)
__isl_give isl_local_spaceisl_local_space_set_tuple_id (__isl_take isl_local_space *ls, enum isl_dim_type type, __isl_take isl_id *id)
__isl_give isl_local_spaceisl_local_space_set_dim_name (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned pos, const char *s)
__isl_give isl_local_spaceisl_local_space_set_dim_id (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned pos, __isl_take isl_id *id)
__isl_give isl_local_spaceisl_local_space_set_from_params (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_reset_space (__isl_take isl_local_space *ls, __isl_take isl_space *space)
__isl_give isl_local_spaceisl_local_space_realign (__isl_take isl_local_space *ls, __isl_take isl_reordering *r)
__isl_give isl_local_spaceisl_local_space_add_div (__isl_take isl_local_space *ls, __isl_take isl_vec *div)
__isl_give isl_local_spaceisl_local_space_replace_divs (__isl_take isl_local_space *ls, __isl_take isl_mat *div)
static void expand_row (__isl_keep isl_mat *dst, int d, __isl_keep isl_mat *src, int s, int *exp)
static int cmp_row (isl_int *row_i, isl_int *row_j, int i, int j, unsigned n_row, unsigned n_col)
int isl_mat_cmp_div (__isl_keep isl_mat *div, int i, int j)
static int bmap_cmp_row (__isl_keep isl_basic_map *bmap, int i, int j, unsigned total)
__isl_give isl_basic_mapisl_basic_map_sort_divs (__isl_take isl_basic_map *bmap)
__isl_give isl_mapisl_map_sort_divs (__isl_take isl_map *map)
__isl_give isl_matisl_merge_divs (__isl_keep isl_mat *div1, __isl_keep isl_mat *div2, int *exp1, int *exp2)
__isl_give isl_local_spaceisl_local_space_swap_div (__isl_take isl_local_space *ls, int a, int b)
__isl_give isl_local_spaceisl_local_space_intersect (__isl_take isl_local_space *ls1, __isl_take isl_local_space *ls2)
isl_bool isl_local_space_div_is_marked_unknown (__isl_keep isl_local_space *ls, int div)
isl_bool isl_local_space_div_is_known (__isl_keep isl_local_space *ls, int div)
isl_bool isl_local_space_divs_known (__isl_keep isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_domain (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_range (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_from_domain (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_add_dims (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned n)
__isl_give isl_basic_setisl_local_space_lift_basic_set (__isl_take isl_local_space *ls, __isl_take isl_basic_set *bset)
__isl_give isl_setisl_local_space_lift_set (__isl_take isl_local_space *ls, __isl_take isl_set *set)
static __isl_give isl_local_spacenormalize_div (__isl_take isl_local_space *ls, int div)
__isl_give isl_local_spaceisl_local_space_substitute_equalities (__isl_take isl_local_space *ls, __isl_take isl_basic_set *eq)
__isl_give isl_local_spaceisl_local_space_substitute_seq (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned pos, isl_int *subs, int subs_len, int first, int n)
__isl_give isl_local_spaceisl_local_space_substitute (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned pos, __isl_keep isl_aff *subs)
isl_bool isl_local_space_is_named_or_nested (__isl_keep isl_local_space *ls, enum isl_dim_type type)
__isl_give isl_local_spaceisl_local_space_drop_dims (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned first, unsigned n)
__isl_give isl_local_spaceisl_local_space_insert_dims (__isl_take isl_local_space *ls, enum isl_dim_type type, unsigned first, unsigned n)
static isl_bool is_linear_div_constraint (__isl_keep isl_local_space *ls, isl_int *constraint, unsigned div, int *sign)
isl_bool isl_local_space_is_div_constraint (__isl_keep isl_local_space *ls, isl_int *constraint, unsigned div)
isl_bool isl_local_space_is_div_equality (__isl_keep isl_local_space *ls, isl_int *constraint, unsigned div)
int * isl_local_space_get_active (__isl_keep isl_local_space *ls, isl_int *l)
__isl_give isl_local_spaceisl_local_space_lift (__isl_take isl_local_space *ls)
__isl_give isl_basic_mapisl_local_space_lifting (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_preimage_multi_aff (__isl_take isl_local_space *ls, __isl_take isl_multi_aff *ma)
__isl_give isl_local_spaceisl_local_space_move_dims (__isl_take isl_local_space *ls, enum isl_dim_type dst_type, unsigned dst_pos, enum isl_dim_type src_type, unsigned src_pos, unsigned n)
__isl_give isl_local_spaceisl_local_space_flatten_domain (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_flatten_range (__isl_take isl_local_space *ls)
__isl_give isl_local_spaceisl_local_space_wrap (__isl_take isl_local_space *ls)
__isl_give isl_pointisl_local_space_lift_point (__isl_take isl_local_space *ls, __isl_take isl_point *pnt)

Macro Definition Documentation

◆ TYPE [1/2]

#define TYPE   isl_local_space

Definition at line 163 of file isl_local_space.c.

◆ TYPE [2/2]

#define TYPE   isl_local_space

Definition at line 163 of file isl_local_space.c.

Function Documentation

◆ bmap_cmp_row()

int bmap_cmp_row ( __isl_keep isl_basic_map * bmap,
int i,
int j,
unsigned total )
static

Definition at line 750 of file isl_local_space.c.

References __isl_keep, cmp_row(), and total().

Referenced by isl_basic_map_sort_divs().

◆ cmp_row()

int cmp_row ( isl_int * row_i,
isl_int * row_j,
int i,
int j,
unsigned n_row,
unsigned n_col )
static

Definition at line 714 of file isl_local_space.c.

References isl_int_is_zero, isl_seq_cmp(), and isl_seq_last_non_zero().

Referenced by bmap_cmp_row(), and isl_mat_cmp_div().

◆ drop_unknown_divs_and_extract_div()

◆ expand_row()

void expand_row ( __isl_keep isl_mat * dst,
int d,
__isl_keep isl_mat * src,
int s,
int * exp )
static

Definition at line 695 of file isl_local_space.c.

References __isl_keep, isl_int_set, isl_seq_clr(), and isl_seq_cpy().

Referenced by isl_merge_divs().

◆ extract_div()

◆ is_linear_div_constraint()

◆ isl_basic_map_sort_divs()

◆ isl_local_space_add_dims()

__isl_give isl_local_space * isl_local_space_add_dims ( __isl_take isl_local_space * ls,
enum isl_dim_type type,
unsigned n )

◆ isl_local_space_add_div()

◆ isl_local_space_alloc()

◆ isl_local_space_alloc_div()

◆ isl_local_space_check_has_space()

◆ isl_local_space_cmp()

◆ isl_local_space_copy()

◆ isl_local_space_cow()

◆ isl_local_space_dim()

◆ isl_local_space_div_is_known()

isl_bool isl_local_space_div_is_known ( __isl_keep isl_local_space * ls,
int div )

◆ isl_local_space_div_is_marked_unknown()

isl_bool isl_local_space_div_is_marked_unknown ( __isl_keep isl_local_space * ls,
int div )

◆ isl_local_space_divs_known()

isl_bool isl_local_space_divs_known ( __isl_keep isl_local_space * ls)

◆ isl_local_space_domain()

◆ isl_local_space_drop_dims()

◆ isl_local_space_dup()

◆ isl_local_space_find_dim_by_name()

int isl_local_space_find_dim_by_name ( __isl_keep isl_local_space * ls,
enum isl_dim_type type,
const char * name )

Definition at line 294 of file isl_local_space.c.

References __isl_keep, isl_dim_div, isl_space_find_dim_by_name(), name, and type.

Referenced by isl_aff_find_dim_by_name().

◆ isl_local_space_flatten_domain()

◆ isl_local_space_flatten_range()

◆ isl_local_space_free()

__isl_null isl_local_space * isl_local_space_free ( __isl_take isl_local_space * ls)

Definition at line 129 of file isl_local_space.c.

References __isl_null, __isl_take, isl_mat_free(), and isl_space_free().

Referenced by basic_replace_space_by_local_space(), drop_unknown_divs_and_extract_div(), extract_aff_from_equality(), extract_rational(), harmonize_divs_with_hulls(), isl_aff_alloc(), isl_aff_alloc_vec(), isl_aff_alloc_vec_validated(), isl_aff_free(), isl_aff_restore_domain_local_space(), isl_aff_val_on_domain(), isl_aff_var_on_domain(), isl_ast_expr_from_aff(), isl_ast_expr_from_constraint_no_stride(), isl_basic_map_constraint(), isl_basic_map_from_local_space(), isl_basic_map_get_div(), isl_constraint_alloc(), isl_constraint_alloc_vec(), isl_constraint_free(), isl_local_space_add_dims(), isl_local_space_add_div(), isl_local_space_alloc_div(), isl_local_space_domain(), isl_local_space_drop_dims(), isl_local_space_flatten_domain(), isl_local_space_flatten_range(), isl_local_space_from_domain(), isl_local_space_insert_dims(), isl_local_space_intersect(), isl_local_space_lift(), isl_local_space_lift_basic_set(), isl_local_space_lift_point(), isl_local_space_lift_set(), isl_local_space_lifting(), isl_local_space_move_dims(), isl_local_space_preimage_multi_aff(), isl_local_space_range(), isl_local_space_replace_divs(), isl_local_space_reset_space(), isl_local_space_restore_local(), isl_local_space_restore_space(), isl_local_space_set_dim_id(), isl_local_space_set_dim_name(), isl_local_space_set_tuple_id(), isl_local_space_substitute(), isl_local_space_substitute_equalities(), isl_local_space_substitute_seq(), isl_local_space_swap_div(), isl_local_space_wrap(), isl_morph_get_var_multi_aff(), isl_multi_aff_domain_map(), isl_multi_aff_from_aff_mat(), isl_multi_aff_multi_val_on_domain_space(), isl_multi_aff_project_out_map(), isl_multi_aff_range_map(), isl_printer_print_constraint(), isl_sched_node_extract_partial_schedule_multi_aff(), isl_val_zero_on_domain(), MULTI(), plug_in_integral_divs(), print_basic_set_c(), range_map(), replace_space_by_local_space(), set_from_affine_matrix(), set_ma_divs(), set_minimum_pa(), set_up_substitutions(), swap_div(), test_construction_1(), test_div(), and isl::local_space::~local_space().

◆ isl_local_space_from_domain()

◆ isl_local_space_from_space()

◆ isl_local_space_get_active()

◆ isl_local_space_get_ctx()

◆ isl_local_space_get_dim_id()

__isl_give isl_id * isl_local_space_get_dim_id ( __isl_keep isl_local_space * ls,
enum isl_dim_type type,
unsigned pos )

Definition at line 324 of file isl_local_space.c.

References __isl_give, __isl_keep, isl_space_get_dim_id(), pos(), and type.

Referenced by var().

◆ isl_local_space_get_dim_name()

const char * isl_local_space_get_dim_name ( __isl_keep isl_local_space * ls,
enum isl_dim_type type,
unsigned pos )

Definition at line 312 of file isl_local_space.c.

References __isl_keep, isl_space_get_dim_name(), pos(), and type.

Referenced by isl_aff_get_dim_name(), and isl_constraint_get_dim_name().

◆ isl_local_space_get_div()

◆ isl_local_space_get_hash()

uint32_t isl_local_space_get_hash ( __isl_keep isl_local_space * ls)

◆ isl_local_space_get_local()

__isl_keep isl_local * isl_local_space_get_local ( __isl_keep isl_local_space * ls)

Definition at line 491 of file isl_local_space.c.

References __isl_keep, isl_local_copy(), and isl_local_space_peek_local().

Referenced by isl_local_space_take_local().

◆ isl_local_space_get_space()

◆ isl_local_space_has_dim_id()

isl_bool isl_local_space_has_dim_id ( __isl_keep isl_local_space * ls,
enum isl_dim_type type,
unsigned pos )

Definition at line 318 of file isl_local_space.c.

References __isl_keep, isl_bool_error, isl_space_has_dim_id(), pos(), and type.

Referenced by var().

◆ isl_local_space_has_dim_name()

isl_bool isl_local_space_has_dim_name ( __isl_keep isl_local_space * ls,
enum isl_dim_type type,
unsigned pos )

Definition at line 306 of file isl_local_space.c.

References __isl_keep, isl_bool_error, isl_space_has_dim_name(), pos(), and type.

◆ isl_local_space_insert_dims()

◆ isl_local_space_intersect()

◆ isl_local_space_is_div_constraint()

◆ isl_local_space_is_div_equality()

isl_bool isl_local_space_is_div_equality ( __isl_keep isl_local_space * ls,
isl_int * constraint,
unsigned div )

Definition at line 1444 of file isl_local_space.c.

References __isl_keep, is_linear_div_constraint(), and isl_bool_ok().

Referenced by isl_constraint_is_div_equality().

◆ isl_local_space_is_equal()

◆ isl_local_space_is_named_or_nested()

◆ isl_local_space_is_params()

isl_bool isl_local_space_is_params ( __isl_keep isl_local_space * ls)

Definition at line 148 of file isl_local_space.c.

References __isl_keep, isl_bool_error, and isl_space_is_params().

◆ isl_local_space_is_set()

isl_bool isl_local_space_is_set ( __isl_keep isl_local_space * ls)

◆ isl_local_space_lift()

◆ isl_local_space_lift_basic_set()

◆ isl_local_space_lift_point()

◆ isl_local_space_lift_set()

◆ isl_local_space_lifting()

◆ isl_local_space_move_dims()

◆ isl_local_space_offset()

◆ isl_local_space_peek_local()

__isl_keep isl_local * isl_local_space_peek_local ( __isl_keep isl_local_space * ls)

Definition at line 484 of file isl_local_space.c.

References __isl_keep.

Referenced by isl_local_space_get_local(), and isl_local_space_lift_point().

◆ isl_local_space_peek_space()

◆ isl_local_space_preimage_multi_aff()

◆ isl_local_space_range()

◆ isl_local_space_realign()

◆ isl_local_space_replace_divs()

__isl_give isl_local_space * isl_local_space_replace_divs ( __isl_take isl_local_space * ls,
__isl_take isl_mat * div )

◆ isl_local_space_reset_space()

◆ isl_local_space_restore_local()

◆ isl_local_space_restore_space()

◆ isl_local_space_set_dim_id()

__isl_give isl_local_space * isl_local_space_set_dim_id ( __isl_take isl_local_space * ls,
enum isl_dim_type type,
unsigned pos,
__isl_take isl_id * id )

◆ isl_local_space_set_dim_name()

__isl_give isl_local_space * isl_local_space_set_dim_name ( __isl_take isl_local_space * ls,
enum isl_dim_type type,
unsigned pos,
const char * s )

◆ isl_local_space_set_from_params()

◆ isl_local_space_set_tuple_id()

◆ isl_local_space_substitute()

◆ isl_local_space_substitute_equalities()

◆ isl_local_space_substitute_seq()

◆ isl_local_space_swap_div()

◆ isl_local_space_take_local()

__isl_give isl_local * isl_local_space_take_local ( __isl_keep isl_local_space * ls)
static

◆ isl_local_space_take_space()

__isl_give isl_space * isl_local_space_take_space ( __isl_keep isl_local_space * ls)

◆ isl_local_space_var_offset()

◆ isl_local_space_wrap()

◆ isl_map_sort_divs()

__isl_give isl_map * isl_map_sort_divs ( __isl_take isl_map * map)

◆ isl_mat_cmp_div()

int isl_mat_cmp_div ( __isl_keep isl_mat * div,
int i,
int j )

Definition at line 743 of file isl_local_space.c.

References __isl_keep, and cmp_row().

Referenced by isl_merge_divs(), and sort_divs().

◆ isl_merge_divs()

◆ normalize_div()