isl_schedule.c: extract out definition of isl_schedule to isl_schedule_private.h
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 4 Jun 2011 08:42:01 +0000 (10:42 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Sun, 5 Jun 2011 08:16:14 +0000 (10:16 +0200)
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Makefile.am
isl_schedule.c
isl_schedule_private.h [new file with mode: 0644]

index b724eb1..9bce9ed 100644 (file)
@@ -107,6 +107,7 @@ libisl_la_SOURCES = \
        isl_scan.c \
        isl_scan.h \
        isl_schedule.c \
+       isl_schedule_private.h \
        isl_stream.c \
        isl_seq.c \
        isl_tab.c \
index 66c0ed5..925ffe3 100644 (file)
@@ -21,6 +21,7 @@
 #include <isl_dim_map.h>
 #include <isl_hmap_map_basic_set.h>
 #include <isl_qsort.h>
+#include <isl_schedule_private.h>
 
 /*
  * The scheduling algorithm implemented in this file was inspired by
  */
 
 
-/* The schedule for an individual domain, plus information about the bands.
- * In particular, we keep track of the number of bands and for each
- * band, the starting position of the next band.  The first band starts at
- * position 0.
- */
-struct isl_schedule_node {
-       isl_map *sched;
-       int      n_band;
-       int     *band_end;
-};
-
-/* Information about the computed schedule.
- * n is the number of nodes/domains/statements.
- * n_band is the maximal number of bands.
- * n_total_row is the number of coordinates of the schedule.
- * dim contains a description of the parameters.
- */
-struct isl_schedule {
-       int n;
-       int n_band;
-       int n_total_row;
-       isl_dim *dim;
-
-       struct isl_schedule_node node[1];
-};
-
 /* Internal information about a node that is used during the construction
  * of a schedule.
  * dim represents the space in which the domain lives
diff --git a/isl_schedule_private.h b/isl_schedule_private.h
new file mode 100644 (file)
index 0000000..dcb6d7a
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef ISL_SCHEDLUE_PRIVATE_H
+#define ISL_SCHEDLUE_PRIVATE_H
+
+#include <isl/schedule.h>
+
+/* The schedule for an individual domain, plus information about the bands.
+ * In particular, we keep track of the number of bands and for each
+ * band, the starting position of the next band.  The first band starts at
+ * position 0.
+ */
+struct isl_schedule_node {
+       isl_map *sched;
+       int      n_band;
+       int     *band_end;
+       int     *band_id;
+};
+
+/* Information about the computed schedule.
+ * n is the number of nodes/domains/statements.
+ * n_band is the maximal number of bands.
+ * n_total_row is the number of coordinates of the schedule.
+ * dim contains a description of the parameters.
+ */
+struct isl_schedule {
+       int ref;
+
+       int n;
+       int n_band;
+       int n_total_row;
+       isl_dim *dim;
+
+       struct isl_schedule_node node[1];
+};
+
+#endif