4 /* An access to an array element or an iterator.
5 * Accesses to iterators have an access relation that maps to an unnamed space.
6 * An access may be both read and write.
8 struct cuda_stmt_access
{
9 /* Offset in stmt->text */
13 /* Access reads elements */
15 /* Access writes elements */
18 /* Index of the array reference group this reference belong to. */
24 struct cuda_stmt_access
*next
;
31 /* Number of tile dimensions. */
33 /* Number of initial parallel loops among tile dimensions. */
36 /* Linked list of accesses. */
37 struct cuda_stmt_access
*accesses
;
40 __isl_give isl_map
*wavefront(__isl_take isl_dim
*dim
, int len
,
41 int first
, int wave_len
);
42 __isl_give isl_map
*project_out(__isl_take isl_dim
*dim
,
43 int len
, int first
, int n
);
44 __isl_give isl_map
*projection(__isl_take isl_dim
*dim
,
45 int src_len
, int dst_len
);
46 __isl_give isl_set
*extend(__isl_take isl_set
*set
, int dst_len
);
48 void stmt_extract_accesses(struct cuda_stmt
*stmt
);