pass ppcg_scop to generate_*
[ppcg.git] / ppcg.h
bloba3d14dcd0d4445ce5bb8bd1d0855652feeb81160
1 #ifndef PPCG_H
2 #define PPCG_H
4 #include <isl/set.h>
5 #include <isl/union_set.h>
6 #include <isl/union_map.h>
7 #include <pet.h>
9 /* Representation of the scop for use inside PPCG.
11 * "context" represents constraints on the parameters.
12 * "domain" is the union of all iteration domains.
13 * "reads" contains all read accesses.
14 * "writes" contains all write accesses.
15 * "schedule" represents the (original) schedule.
17 * "arrays" and "stmts" are copies of the corresponding elements
18 * of the original pet_scop.
20 struct ppcg_scop {
21 isl_set *context;
22 isl_union_set *domain;
23 isl_union_map *reads;
24 isl_union_map *writes;
25 isl_union_map *schedule;
27 int n_array;
28 struct pet_array **arrays;
29 int n_stmt;
30 struct pet_stmt **stmts;
33 #endif