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. 11 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. 18 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. 24 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}. 28 29 \item The transitive closure operation is described 30 by \textcite{Verdoolaege2011closure}. 31 32 \item The scheduler is briefly described by 33 \textcite[Section 6.2]{Verdoolaege2013PPCG} and 34 \textcite[Section 2.4]{Verdoolaege2016reordering}. 35 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}. 40 41 \item The coalescing operation is described by 42 \textcite{Verdoolaege2015impact}. 43 44 \item The AST generator is described by \textcite{Grosser2015AST}. 45 46 \end{itemize} 47