isl_scheduler.c: non_neg_lexmin: improve documentation
[isl.git] / doc / reading.tex
blob6498000fffde80a0dcd2d104a27cbba1d39f7754
1 \textcite{Verdoolaege2016tutorial} describes the concepts behind
2 \isl in some detail, mainly focusing on Presburger formulas,
3 but also including some information on polyhedral compilation,
4 especially on dependence analysis.
5 Individual aspects of \isl are described in the following publications.
6 \begin{itemize}
7 \item
8 \textcite{Verdoolaege2009equivalence} introduce \isl as a library
9 for manipulating sets of integers defined by linear inequalities and
10 integer divisions that is used in their equivalence checker.
12 \item
13 \textcite{Verdoolaege2010isl} provides a more detailed description
14 of \isl at the time and still stands as the official reference for
15 \isl. However, many features were only added later on and one or
16 more of the publications below may be more appropriate as
17 a reference to these features.
19 \item
20 \textcite[Section 5.1]{Verdoolaege2010networks} provides some
21 details on the dataflow analysis step, but also see
22 \textcite[Chapter 6]{Verdoolaege2016tutorial} and
23 \textcite{Verdoolaege2016reordering} for a more recent treatment.
25 \item The concepts of structured and named spaces and the manipulation
26 of sets containing elements in different spaces were introduced
27 by \textcite{Verdoolaege2011iscc}.
29 \item The transitive closure operation is described
30 by \textcite{Verdoolaege2011closure}.
32 \item The scheduler is briefly described by
33 \textcite[Section 6.2]{Verdoolaege2013PPCG} and
34 \textcite[Section 2.4]{Verdoolaege2016reordering}.
36 \item Schedule trees started out as ``trees of bands''
37 \parencite[Section 6.2]{Verdoolaege2013PPCG}, were formally
38 introduced by \textcite{Verdoolaege2014impact}, and were
39 slightly refined by \textcite{Grosser2015AST}.
41 \item The coalescing operation is described by
42 \textcite{Verdoolaege2015impact}.
44 \item The AST generator is described by \textcite{Grosser2015AST}.
46 \end{itemize}