brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · fbf2159 Raw
103 lines · c
1#ifndef ISL_LOCAL_SPACE_PRIVATE_H2#define ISL_LOCAL_SPACE_PRIVATE_H3 4#include <isl/mat.h>5#include <isl/set.h>6#include <isl/local_space.h>7 8struct isl_local_space {9	int ref;10 11	isl_space *dim;12	isl_mat *div;13};14 15isl_stat isl_local_space_check_range(__isl_keep isl_local_space *ls,16	enum isl_dim_type type, unsigned first, unsigned n);17 18uint32_t isl_local_space_get_hash(__isl_keep isl_local_space *ls);19 20__isl_give isl_local_space *isl_local_space_alloc(__isl_take isl_space *space,21	unsigned n_div);22__isl_give isl_local_space *isl_local_space_alloc_div(23	__isl_take isl_space *space, __isl_take isl_mat *div);24 25__isl_keep isl_space *isl_local_space_peek_space(26	__isl_keep isl_local_space *ls);27 28__isl_give isl_local_space *isl_local_space_swap_div(29	__isl_take isl_local_space *ls, int a, int b);30__isl_give isl_local_space *isl_local_space_add_div(31	__isl_take isl_local_space *ls, __isl_take isl_vec *div);32 33int isl_mat_cmp_div(__isl_keep isl_mat *div, int i, int j);34__isl_give isl_mat *isl_merge_divs(__isl_keep isl_mat *div1,35	__isl_keep isl_mat *div2, int *exp1, int *exp2);36 37isl_size isl_local_space_var_offset(__isl_keep isl_local_space *ls,38	enum isl_dim_type type);39unsigned isl_local_space_offset(__isl_keep isl_local_space *ls,40	enum isl_dim_type type);41 42__isl_give isl_local_space *isl_local_space_replace_divs(43	__isl_take isl_local_space *ls, __isl_take isl_mat *div);44isl_bool isl_local_space_div_is_marked_unknown(__isl_keep isl_local_space *ls,45	int div);46isl_bool isl_local_space_div_is_known(__isl_keep isl_local_space *ls, int div);47isl_bool isl_local_space_divs_known(__isl_keep isl_local_space *ls);48 49__isl_give isl_basic_set *isl_local_space_lift_basic_set(50	__isl_take isl_local_space *ls, __isl_take isl_basic_set *bset);51__isl_give isl_set *isl_local_space_lift_set(__isl_take isl_local_space *ls,52	__isl_take isl_set *set);53__isl_give isl_local_space *isl_local_space_substitute_equalities(54	__isl_take isl_local_space *ls, __isl_take isl_basic_set *eq);55 56isl_bool isl_local_space_is_named_or_nested(__isl_keep isl_local_space *ls,57	enum isl_dim_type type);58 59isl_bool isl_local_space_has_equal_space(__isl_keep isl_local_space *ls1,60	__isl_keep isl_local_space *ls2);61 62__isl_give isl_local_space *isl_local_space_reset_space(63	__isl_take isl_local_space *ls, __isl_take isl_space *space);64__isl_give isl_local_space *isl_local_space_realign(65	__isl_take isl_local_space *ls, __isl_take isl_reordering *r);66 67isl_bool isl_local_space_is_div_constraint(__isl_keep isl_local_space *ls,68	isl_int *constraint, unsigned div);69isl_bool isl_local_space_is_div_equality(__isl_keep isl_local_space *ls,70	isl_int *constraint, unsigned div);71 72int *isl_local_space_get_active(__isl_keep isl_local_space *ls, isl_int *l);73 74__isl_give isl_local_space *isl_local_space_substitute_seq(75	__isl_take isl_local_space *ls,76	enum isl_dim_type type, unsigned pos, isl_int *subs, int subs_len,77	int first, int n);78__isl_give isl_local_space *isl_local_space_substitute(79	__isl_take isl_local_space *ls,80	enum isl_dim_type type, unsigned pos, __isl_keep isl_aff *subs);81 82__isl_give isl_local_space *isl_local_space_lift(83	__isl_take isl_local_space *ls);84 85__isl_give isl_local_space *isl_local_space_preimage_multi_aff(86	__isl_take isl_local_space *ls, __isl_take isl_multi_aff *ma);87 88__isl_give isl_local_space *isl_local_space_move_dims(89	__isl_take isl_local_space *ls,90	enum isl_dim_type dst_type, unsigned dst_pos,91	enum isl_dim_type src_type, unsigned src_pos, unsigned n);92 93int isl_local_space_cmp(__isl_keep isl_local_space *ls1,94	__isl_keep isl_local_space *ls2);95 96__isl_give isl_point *isl_local_space_lift_point(__isl_take isl_local_space *ls,97	__isl_take isl_point *pnt);98 99isl_bool isl_local_space_has_space(__isl_keep isl_local_space *ls,100	__isl_keep isl_space *space);101 102#endif103