Lines Matching refs:UNION
16 /* A union of expressions defined over different domain spaces.
21 struct UNION {
33 isl_size FN(FN(UNION,n),BASE)(__isl_keep UNION *u)
38 S(UNION,foreach_data)
44 static isl_stat FN(UNION,call_on_copy)(void **entry, void *user)
47 S(UNION,foreach_data) *data = (S(UNION,foreach_data) *)user;
55 isl_stat FN(FN(UNION,foreach),BASE)(__isl_keep UNION *u,
58 S(UNION,foreach_data) data = { fn, user };
64 &FN(UNION,call_on_copy), &data);
70 static isl_bool FN(UNION,has_same_domain_space_tuples)(const void *entry,
92 static struct isl_hash_table_entry *FN(UNION,find_part_entry)(
93 __isl_keep UNION *u, __isl_keep isl_space *space, int reserve)
104 ctx = FN(UNION,get_ctx)(u);
107 &FN(UNION,has_same_domain_space_tuples), space, reserve);
121 isl_die(FN(UNION,get_ctx)(u), isl_error_invalid,
122 "union expression can only contain a single "
128 static __isl_give UNION *FN(UNION,remove_part_entry)(__isl_take UNION *u,
134 return FN(UNION,free)(u);
137 ctx = FN(UNION,get_ctx)(u);
146 * Since a UNION with a single entry per domain space is not allowed
150 static isl_stat FN(UNION,check_disjoint_domain_other)(__isl_keep UNION *u,
157 * This check is performed before "part2" is added to a UNION to ensure
158 * that the UNION expression remains a function.
159 * Since a UNION with a single entry per domain space is not allowed
162 static isl_stat FN(UNION,check_disjoint_domain)(__isl_keep PART *part1,
172 static isl_stat FN(UNION,foreach_inplace)(__isl_keep UNION *u,
179 ctx = FN(UNION,get_ctx)(u);
189 static isl_bool FN(UNION,has_domain_space_tuples)(const void *entry,
204 isl_stat FN(UNION,foreach_on_domain)(__isl_keep UNION *u,
214 entry = isl_hash_table_find(FN(UNION,get_ctx)(u), &u->table,
215 hash, &FN(UNION,has_domain_space_tuples),
224 static isl_stat FN(UNION,free_u_entry)(void **entry, void *user)